osganimationeasemotion例子

本文介绍osgWidget如何创建响应式界面,并结合osgAnimation的EaseMotion实现平滑动画。osgWidget的WindowManager负责事件响应和窗口管理,通过StyleManager定制样式。EaseMotionSampler利用NodeCallback更新节点位置,实现基于osgAnimation::Motion的平滑移动效果。
摘要由CSDN通过智能技术生成
osgWidget是通过HUD来实现的一个嵌入OSG中的响应界面,和功能更加强大的CEGUI类似。
WindowManager 是osgWidget管理类,继承自Switch,可以识别事件的响应,添加各种窗体,例如button

、label等。WindowManager还可以支持Lua、Python等脚本文件,通过ScriptEngine进行脚本解析。
Event定义事件,EventInterface定义响应事件的接口。
通过StyleManager来定义窗体的样式。

接下来在main中通过osgWidget::Box定义了一个容器,加载了ColorLabelMenu

osgWidget可能是参考Qt进行设计的,设计的方法类似Qt,widget是基类,label等从widget继承,,之

前说过osgWidget是通过HUD加入到OSG场景中的,那么这个HUD在什么地方呢?
找到osgWidget::Util中的createOrthoCamera 很熟悉,创建了一个平行投影的相机,

camera->getOrCreateStateSet()->setMode(
        GL_LIGHTING,
        

osg::StateAttribute::PROTECTED | osg::StateAttribute::OFF
    );

    camera-

>setProjectionMatrix(osg::Matrix::ortho2D(0.0, width, 0.0f, height));
    camera-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值