OSG中的示例程序简介

1.example_osganimate
一)演示了路径动画的使用(AnimationPath、AnimationPathCallback),路径动画回调可以作用在Camera、CameraView、MatrixTransform、PositionAttitudeTransform等四种类型的节点上。
二)演示了osgSim::OverlayNode的使用

2.example_osganimationeasemotion
一)演示了osgAnimation::EaseMotion的使用,EaseMotion可以用于表达位移、速度值随时间的变化情况,通过不同的模板参数(functor),实现了不同的变化曲线。
二)程序中用到了一个使用osgWidget构造的弹出式菜单。

3.example_osganimationhardware
一)演示了在osgAnimation::RigGeometry中使用自定义RigTransformImplementation的方法。
二)可以参考程序中获取骨骼动画模型包含的动画列表的方法。

4.example_osganimationmakepath
一)演示了osgAnimation::Sampler采样器的使用,更新物体颜色(vec4)、物体位置(vec3)。Sampler派生模板类用于在一组已知离散数据样本的基础上,进行插值计算,得到连续数据。通过模板参数支持多种插值方法。
二)在更新物体位置这方面,与路径动画AnimationPath类似,但它需要自己写回调来更新节点矩阵,好处是能够使用更灵活的方式来进行数据采样,而AnimationPath只能进行线性内插。

5.example_osganimationmorph
一)演示了利用osgAnimation::MorphGeometry实现几何体变形动画的方法。

6.example_osganimationnode
一)同osganimationmakepath演示的功能基本相同。

7.example_osganimationskinning
一)演示了使用osgAnimation::Skeleton、osgAnimation::Bone构建骨骼,使用osgAnimation::Animation、osgAnimation::Channel构建动画,使用osgAnimation::RigGeometry构建蒙皮,以及使用osgAnimation::BasicAnimationManager播放骨骼动画的流程。可以做为学习osgAnimation骨骼动画实现结构的参考。

8.example_osganimationsolid
一)演示了利用多个Channel对一个物体进行运动控制(最终落实到更新MT节点的矩阵)。与示例osganimationmakepath的区别在于,这里使用了osgAnimation::Channel、osgAnimation::Animation、osgAnimation::UpdateMatrixTransform,对同一个物体应用了多个运动控制的叠加。

9.example_osganimationtimeline
一)演示了osgAnimation中的时间线控制。osgAnimation::Timeline、osgAnimation::TimelineAnimationManager。timeline是做什么用的?

10.example_osganimationviewer
一)演示了osgAnimation骨骼动画的加载及播放控制,可以在多个动作间切换,但播放多个动作、动作暂停等方面似乎不好使。
二)程序中出现了一个使用osgWidget构建的播放控制GUI,还有一个可以滑入滑出的菜单,可以作为GUI构建的参考。

11.example_osgautocapture
一)一个自动截屏的示例程序,用到了自定义osgViewer::Renderer,osg::Camera::DrawCallback等。
二)里面有一段用经纬高和方向角定位相机的代码。

12.example_osgautotransform
一)演示了利用osg::AutoTransform实现自动的缩放、旋转,从而达到按指定的效果自动面向屏幕。

13.example_osgbillboard
一)演示了osg::Billboard的使用。与AutoTransform的区别在哪里?

14.example_osgblendequation
一)演示了osg::BlendEquation的不同配置对于渲染结果的影响。

15.example_osgcallback
一)演示了OSG中各种回调方法的使用。

16.example_osgcamera
一)演示了单窗口多相机(使用SlaveCamera)、多窗口多相机(一个Viewer,多个GraphicsContext,多个Camera作为Slave添加到viewer下)、多屏幕多窗口。

17.example_osgcatch
一)一个类似接蛋游戏的小游戏程序

18.example_osgclip
一)演示

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值