osg场景图(DAG-有向无环图)
osg场景图是一个有向无循环图,如下图所示:
osg场景图中,所有节点全部为osg::Node或从其派生出来。
其中,叶子节点(osg::Geode)是模型数据节点(存放数据的节点),中间节点(或称枝节节点)为组节点(osg::Group)。
挂在组节点下的子节点会执行相同的操作(如:平移,旋转,放缩等),
如果组节点下再挂组节点,作用到叶子节点上的将是一个从下到上的综合结果。
注意:上图中Box会在施加了两种不同变换后,被分别绘制出来(最终会绘制出两个box),但在box在内存中只有一份。
++++++++++++++++++++++++++++++++++++++++
osg::Geode
osg::Geode的实质是一组图元,下面有若干个osg::Drawable(可绘制体)。
其中,osg::Drawable是一个简单的或复杂的图元,可以是一个正方形,也可以是栅格化的字符串。
osg::Geode典型示例:osg::Billboard标志牌。
osg::Group
根据不同的用途,有各种不同的组结点,它们都继承自osg::Group。
如osg::LOD,可以根据距离远近等因素选择不同的子结点渲染。
如osg::Switch,可以在两个子结点中任选其一。
如osg::Sequence,可以构建序列动画。
如osg::Transform,改变其所有子结点相对于场景中其它结点的坐标,可以是旋转、平移或缩放等。
我们常用osg::MatrixTransform和osg::PositionAttitudeTransform。
osg::Camera就是从osg::Transform继承来。
*** Drawable ***
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)