osg中的示例程序简介_第1页
osg中的示例程序简介_第2页
osg中的示例程序简介_第3页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OSG 中的示例程序简介1.exle_osganimate一)演示了路径动画的使用(AnimationPanimationPathCallback),路径动画回调可以作用在 Camera、CameraView、MatrixTransform、itionAttitudeTransform 等四种类型的节点上。二)演示了 osgSim:OverlayNode 的使用2.exle_osganimationeasemotion一)演示了 osgAnimation:EaseMotion 的使用,EaseMotion 可以用于表达位移、速度值随时间的变化情况,通过不同的模板参数(functor),实现了不

2、同的变化曲线。二)程序中用到了一个使用 osgWidget 构造的弹出式菜单。3.exle_osganimationhardware一)演示了在 osgAnimation:RigGeometry 中使用自定义 RigTransformImplemen ion 的方法。二)可以参考程序中获取骨骼动画模型包含的动画列表的方法。4.exle_osganimationmakepath一)演示了 osgAnimation:Sler 采样器的使用,更新物体颜色(vec4)、物置(vec3)。Sler 派生模板类用于在一组已知离散数据样本的基础上,进行插值计算,得到连续数据。通过模板参数支持多种插值方法。二

3、)在更新物置这方面,与路径动画 AnimationPath 类似,但它需要自己写回调来更新节点矩阵,好处是能够使用更灵活的方式来进行数据采样,而 AnimationPath 只能进行线性内插。5.exle_osganimationmorph一)演示了利用 osgAnimation:MorphGeometry 实现几何体变形动画的方法。6.exle_osganimationnode一)同 osganimationmakepath 演示的功能基本相同。7.exle_osganimationskinning一)演示了使用 osgAnimation:Skeleton、osgAnimation:Bone

4、 构建骨骼,使用 osgAnimation:Animation、osgAnimation:Channel 构建动画,使用 osgAnimation:RigGeometry 构建蒙皮,以及使用osgAnimation:BasicAnimationManager骨骼动画的流程。可以做为学习 osgAnimation 骨骼动画实现结构的参考。8.exle_osganimationsolid一)演示了利用多个 Channel 对一个物体进行运动控制(最终到更新 MT 节点的矩阵)。与示例 osganimationmakepath 的区别在于,这里使用了 osgAnimation:Channel、osg

5、Animation:Animation、osgAnimation:UpdateMatrixTransform,对同一个物体应用了多个运动控制的叠加。9.exle_osganimationtimeline一)演示了 osgAnimation 中的时间线控制。osgAnimation:Timeline、osgAnimation:TimelineAnimationManager。timeline是做什么用的?10.exle_osganimationviewer一)演示了 osgAnimation 骨骼动画的加载及控制,可以在多个动作间切换,但多个动作、动作暂停等方面似乎不好使。二)程序中出现了一个使

6、用 osgWidget 构建的控制 GUI,还有一个可以滑入滑出的菜单,可以作为 GUI 构建的参考。11.exle_osgautocapture一)一个自动截屏的示例程序,用到了自定义 osgViewer:Renderer,osg:Camera:DrawCallback 等。二)里面有一段用经纬高和方向角定位相机的代码。12.exle_osgautotransform一)演示了利用 osg:AutoTransform 实现自动的缩放、旋转,从而达到按指定的效果自动面向屏幕。13.exle_osgbillboard一)演示了 osg:Billboard 的使用。与 AutoTransform

7、的区别在哪里?14.exle_osgblendequation一)演示了 osg:BlendEquation 的不同配置对于渲染结果的影响。15.exle_osgcallback一)演示了 OSG 中各种回调方法的使用。16.exle_osgcamera一)演示了单窗口多相机(使用 SlaveCamera)、多窗口多相机(一个 Viewer,多个 GraphicsContext,多个 Camera 作为 Slave添加到 viewer 下)、多屏幕多窗口。17.exle_osgcatch一)一个类似接蛋的小程序18.exle_osgclip一)演示了 osg:ClipNode(osg:Clip

8、Plane)的使用。19.exle_osgcluster一)多机同步的演示itevieweriteViewer 的使用一)演示了21.exle_osgcopy一)演示了 osg 中 clone 操作的使用,以及 osg:CopyOp 的自定义用法。22.exle_osgcubemap一)演示如何使用高光贴图增强模型显示效果。高光贴图使用的立方体贴图(osg:TextureCubeMap),高光 CubeMap 使用osgUtil:HighlightMapGenerator 自动生成。使用 osg:TexGen 以反射贴图的方式自动生成纹理坐标。并用将高光贴图与原始颜色混合(ADD)。bineo

9、sgUtil:HighlightMapGenerator 派生自 osgUtil:CubeMapGenerator,还有其他一些用途的立方体贴图。23.exle_osgdatabaserevis一)演示了分页数据库本地缓存及数据版本检查的使用。24.exle_osgdelaunay一)演示了 DelaunayTriangulator 的使用,用于对不规则网格点进行三角化处理。25.exle_osgdepthpartition一)实现了一个派生自 osg:Group 的 DepthPartitionNode 节点类型,它可以自动对子节点树按照深度值进行划分,用于解决大场景下深度缓冲。26.exl

10、e_osgdepthpeelingDepthPeeling27.exle_osgdistortion一)演示了类似哈哈镜的效果28.exle_osgdrawinstanced一)演示了利用 DrawArraysInstanced 将一个四边形面片渲染成若干小面片的方法。29.exle_osgfadetext一)演示了 osgText:FadeText 的使用,并使用 osg:ClusterCullingCallback 实现文字的剪裁(根据指定法线与视线对物体进行剪裁)。FadeText 封装了自动淡入淡出和自动进行互相间的遮挡技术的功能。30.exle_osgfont一)演示了字体的使用31

11、.exle_osgforest一)演示了用多种技术方法实现森林的效果。首先对整个森林的所有树木做分块处理(cell),然后按照分块结构,使用多种方式进行建模。对树的建模使用的方法包括:Billboard、Shader、面片等。32.exle_osgfpdepth一)演示了使用深度缓冲相关的应用。floating podepth buffer? invert the depth buffer?33.exle_osgfxbrowser一)演示了使用 osgFX 创建的几种特殊渲染效果,使用 osgFX:Effect 管理各种效果。包括的效果有:AnisotropicLighting、BumpMap

12、、Cartoon、Outline、Scribe、SpecularHighlights。34.exle_osggameoflife一)演示了一种叫做-Pong的渲染技术,它是指利用 FBO 和两张纹理对象,在程序中以一个纹理为输入把计算结果写入另一个纹理,然后反转输入输出纹理再进行相同的操作,如此迭代。二)其中用到的GameOfLife是使用-Pong 处理并输出的一个示例。35.exle_osggeodemo一)演示了.geo 文件的加载,以及 geo 模型的动画更新。二)GEO PRO 是 CarbonGraphics的一个建模工具,.geo 文件是它的模型文件格式。36.exle_osgg

13、eometry一)演示了 osg:Geometry(几何体)的各种构造方法。37.exle_osggeometryshades一)演示了如何利用 GeometryShader 程序动态改变几何体的绘制,示例中把一个点绘制成不断变化的线。38.exle_osggpx一)演示了一个路径的数据结构,以及使用 osgDB:XmlParser 对它的读写。39.exle_osggraphicscost一)演示了 osg:GraphicsCostEstimator 的使用,osg:GraphicsCostEstimator 用来评估编译/绘制几何体、纹理、程序、节点所需要的时间。40.exle_osgha

14、ngglide一)演示了使用程序构建场景的过程。二)实现了一个滑行漫游器。41.exle_osgimagesequence一)演示了使用 osg:ImageSequence 作为纹理贴图,并通过 osg:ImageStream 接口进行贴图动画ImageSequence 贴图的加载有多种控制方案。控制的方法。42.exle_osgimtor一)演示了 osgSim:Imtor 的使用。Imtor 节点的作用似乎是,通过在一些情况下,把物体渲染结果保存为纹理,而后通过渲染纹理代替渲染物体,以达到提高渲染效率的目的?二)实现了一个自定义的漫游器。43.exle_ ersection一)演示并对别了

15、多种求交计算的方法,如 osgSim:LineOfSight、osgSim:HeightAboveTerrain、osgSim:ElevationSlice、osgUtil: ersectroup。44.exle_osgkdtree一)演示了 kdtreee 的使用。OSG 能够在模型文件时自动构建 kdtree。45.exle_keyboard一)演示了键盘输入消息的处理。46.exle_keyboardmouse一)演示了鼠标、键盘消息的处理。47.exle_osglauncher一)一个三位的程序导航菜单。为每个例子程序构造一个立方体对象,通过即时的求交计算判定当前选中的对象,从而关联一

16、个例子程序并启动执行。48.exle_osglight一)演示了光照的使用。49.exle_osglightpo一)演示了 osgSim:LightPo 、osgSim:LightPo Node 的使用。50.exle_osglogicop一)演示了 osg:LogicOp(glLogicOp)的使用。51.exle_osglogo一)演示了 logo 的制作。52.exle_osgmanipulator一)演示了 osgManipulator 中各种拖拽器(Dragger)的使用。53.exle_osgmemorytest一)一些 GL 操作的测试。54.exle_osgmotionblur

17、一)演示了如何利用累积缓冲区(accumulation buffer)实现一个简单的运动模糊(motion blur)效果。55.exle_osgmovie插件,如 osgdb_quicktime、osgdb_ffmpg一)演示了的功能。需要使用56.exle_osgmultiplerenders一)演示了如何使用 RTT(Render To Texture)、MRT(Multiple Renders)。57.exle_osgmultitexture一)演示了多重纹理的使用。58.exle_osgmultitexturecontrol一)演示了 osgFX:MultiTextureContro

18、l 的使用。59.exle_osgmultivieging一)多视口分屏的演示。60.exle_osgoccluder一)演示了 osg:ConvexPlanarOccluder 的使用。61.exle_osgoccluqueryQueryNode 的使用。一)演示了 osg:Occlu62.exle_osgoit一)depth peeling 的使用。63.exle_osgoutline一)演示了使用 osgFX:Outline 绘制物体外轮廓线的方法。64.exle_osgpackeddepthstencil一)osg:Camera:PACKED_DEPTH_STENCIL_BUFFER

19、的使用。65.exle_osgpagedlod一)演示了利用 osg:PagedLOD 实现层次细节及流式加载。66.exle_osgparametric一)演示了使用顶点程序(Vertex Shadrogram)实现简单的变形动画。67.exle_osgparticle一)几个粒子效果的演示,并使用了自定义 osgParticle:Operator 的方法控制粒子运动。68.exle_osgparticleeffects一)演示了 osgParticle 中几个预定义 Effect 的效果,包括、碎片、烟、火等。69.exle_osgparticleshader一)osgParticle 实

20、现的一个喷泉效果70.exle_osgpdf使用 osgWidget:PdfReader并显示 pdf 文档的例子,需要有相应插件支持。71.exle_osgphotoalbum一个 3D 相册演示程序?实现了一种把多个文件合并到一个相册文件中的格式。72.exle_osgpick通过求交计算进行拾取判断的一个例子。73.exle_osgplanets天体运行的一个示例程序,其中使用 billboard 为制作了大气层效果。74.exle_osgpo s演示了使用点精灵(osg:Po Sprite)绘制点,以及设置点大小。75.exle_osgpo sprite使用点精灵绘(osg:Po Sp

21、rite)制点云的示例。76.exle_osgter演示了渲染大分辨率(high-resolution image)的方法。77.exle_osgprecipi ion演示了 osgParticle:Precipi ionEffect 实现的雨、雪效果。78.exle_osgprerender演示了渲染到纹理(RTT)的使用。在 PRE_RENDER 时把场景渲染到纹理上,再使用这个纹理渲染主场景。79.exle_osgprerendercubemap演示了使用立方体贴图(osg:TextureCubeMap)实现环境反射的方法。80.exle_osgrefelect演示了一个镜面反射效果的实

22、现。81.exle_osgrobot演示了一个由矩阵节点树构造成的多关节机器人。82.exle_osgscalarbar演示了使用 osgSim:ScalarBar 实现的颜色标尺效果。83.exle_osgscreencapture演示了利用 osg:Camera:DrawCallback 派生类实现截屏的方法。84.exle_osgscribe在模型表面附加网格线的效果,利用 osg:PolygonMode 和 osg:PolygonOffset 实现,与 osgSim:Scribe 效果和原理一致。85.exle_osgsequence多个模型的效果,利用 osg:Sequence 节点

23、实现。演示了序列化86.exitionition)的使用,用到 osg:ShaderAttribute演示了程序组合(87.exle_shadergen演示了利用 osgUtil:ShaderGenVisitor 生成替换固定功能管线的 GLSL 代码。88.exle_osgshaders演示了 Datashaders 目录下几个 shader 代码文件的使用。89.exle_osgshaderterrain一个在程序中通过纹理采样计算地形高程来生成地形的示例。90.exle_osgshadow包含多种实时阴影算法实现的阴影效果演示程序。91.exle_osgsh利用 osg:ShDrawab

24、le 构建常用几何体的演示。92.exle_sharedarray演示了以自定义数据结构构造几何体的方法,派生 osg:Array 类。93.exle_osgsidebysideosgSim:MultiSwitch、osgSim:DOFTransform 节点的控制。单窗口多视口的使用。94.exle_osgsimplifier演示了使用 osgUtil:Simplifier 对模型进行简化的方法。95.exle_osgsimulation演示了节点漫游器(osgGA:NodeTrackerManipulator)的使用。96.exle_osgslice应该是很老的一个示例,还在直接使用 os

25、gUtil:SceneView,没有osgViewer 库,所以窗口 GC 调用失败,不能运行。97.exle_osgspacewarp使用一个小技巧实现点在相机运动情况下观察变成线的效果(类似虚影的效果)。小技巧是,对于每个点,也绘制一条线,线的一个端点始终在点的当前位置上,另一个端点使用点在上一帧的位置。98.exle_osgspheresegment使用 osgSim:SphereSegment 绘制弧面的例子。99.exle_osgspotlight演示了聚光灯的使用。osg:LightSource100.exle_osgstereoimage演示了生成的方法。101.exle_osg

26、stereomatch左右眼图像匹配的示例,使用 Dataimages 目录下的狗的运行。102.exle_osgteapot使用 osg:Drawable 派生类封装经典的 glut_teapot 的绘制。103.exle_osgterrain动态控制地形参数的示例,使用 osgTerrain:Terrain。104.exle_telate演示了镶嵌(telation)的使用,osgUtil:Telator。105.exle_osgtext演示了文字的各种使用方式,osgText:Text。106.exle_osgtext3D演示了文字的使用,osgText:Text3D。107.exle_

27、osgtexture1D演示了一维纹理的使用 osg:Texture1D,纹理坐标生成节点 osg:TexGenNode。108.exle_osgtexture2D演示了二维纹理的使用 osg:Texture2D,并通过更新回调演示了纹理在不同纹理过滤方式(filter)、纹理环绕模式(wrap)、各项异型系数(anisotropic)下的不同效果。109.exle_osgtexture3D演示了三维纹理的使用 osg:Texture3D。示例中用多张二维组装出一个三维纹理对象,在顶点数据中指定 s、t 两个纹理坐标,而使用 osg:TexGen 单独生成纹理坐标 r(TexGen 可以用来独

28、立的生成某一维的纹理坐标),通过在更新回调中更新 TexGen 的参数动态更新纹理坐标 r,由于纹理过滤方式使用的线性过滤,从而得到的效果是在多张纹理间平滑切换。110.exapres演示了多种压缩格式(ernelFormatMode)的对比效果。同时有多视口iteViewer 的使用。111.exle_osgtexturerectangle演示了矩形纹理 osg:TextureRectangle 的使用,矩形纹理的纹理坐标范围必须为像素范围,并且环绕模式不支持重复,不支持边框和 mipmap。112.exle_osgthirdviewiteViewer 构建多窗口视图,并在第二个窗口中绘制第

29、一个窗口相同的场景的同时绘制出第一个窗口相机的使用视锥体。113.exle_osgthreadedterrain一)使用增量编译 osgUtpileOperation,避免加载大模型时造成的帧率下降。二)osgTerrain:Layer、osgTerrain:Terraile 的使用。114.exle_osguniformbuffer演示了 osg:UniformBufferObject 的使用。115.exle_osgunittests单元测试代码。116.exle_osgusers s演示了如何在 OSG 的统计信息显示界面中显示用户自定义的统计信息。117.exle_osgvertexattributes演示了在程序中使用顶点属性(VertexAttribute)。118.exle_osgvertexprogram使用立方体贴图(CubeMap)和顶点程序(VertexShader)实现环境反射的例子,同时提供了一个天空盒的实现。119.exle_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论