• 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 ***

  • 相关阅读:
    多线程创建方式四种

    归并排序
    Spark调优之--资源调优、并行度调优
    多线程中的上下文切换
    守护线程和本地线程
    线程和进程的区别
    3. 无重复字符的最长子串
    [蓝桥杯][历届试题]连号区间数
    [蓝桥杯][历届试题]蚂蚁感冒
  • 原文地址:https://www.cnblogs.com/kekec/p/2190322.html
Copyright © 2020-2023  润新知