osganimate例子

本文介绍了osganimate库中用于动画的示例,重点讲解了overlaynode的实现原理,包括OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY等三种渲染技术。通过创建osg::AnimationPath来控制移动模型,实现飞机的飞行动画。同时,文章提到osgSim::OverlayNode的使用及其在不同场景下的适用性,并对其潜在问题进行了讨论。
摘要由CSDN通过智能技术生成

osganimate 给出了动画的例子
overlaynode通过RTT(渲染到纹理)实现的,提前渲染一个子图到纹理内存中,然后作为纹理映射到场景中
enum OverlayTechnique
        {
            OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY,
            VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY,
            VIEW_DEPENDENT_WITH_PERSPECTIVE_OVERLAY
        };
有三种不同的渲染技术可选方式可选择。

createBase函数创建了一个棋盘,创建几个体,定点绑定的方式在这里就不细说了。
说一下setVertexIndices、setColorIndices 设置定点和颜色索引,这样在绘制几何体的时候会按着所设置的索引顺序从顶点和颜色数组中连接,如果不设置,则按着默认的顺序连接。

createMovingModel创建两个移动的飞机。
移动的飞机通过创建osg::AnimationPath实现的
 animationPath->insert(time,osg::AnimationPath::ControlPoint(position,rotation));
osg::AnimationPath所插入的数据正是path文件中存储的数据,
osg::Vec3 position(center+osg::Vec3(sinf(yaw)*radius,cosf(yaw)*radius,0.0f));
        osg::Quat rotation(osg::Quat(roll,osg::Vec3(0.0,1.0,0.0))*osg::Quat(-(yaw+osg::inDegrees(90.0f)),osg:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值