可可西

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::MatrixTransformosg::PositionAttitudeTransform

osg::Camera就是从osg::Transform继承来。

 

*** Node   Group  Geode***

 

*** Drawable ***

posted on   可可西  阅读(1832)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)

导航

统计信息

点击右上角即可分享
微信分享提示