可可西

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 2011-09-25 16:32  可可西  阅读(1816)  评论(0编辑  收藏  举报

导航