Skip to content

Latest commit

 

History

History
9 lines (8 loc) · 1.95 KB

场景图形特性.md

File metadata and controls

9 lines (8 loc) · 1.95 KB

场景图形除了提供底层渲染 API中具备的几何信息和状态管理功能之外,还兼具如下的附加特性和功能:

  • 空间结构:场景图形所采用的树状数据结构更直观,也更符合人们一般 理解中的空间事物的排布和组织结构。

  • 场景拣选:使用本地 CPU 的投影剔除(frustum culling)和隐藏面剔除(occlusion culling)来减少系统总体负担,其基本原理是,在最终渲染 图像时忽略对不会显示的几何体的处理。

  • 细节层次(LOD):使用几何体包围盒计算观察者与物体的距离,使得 用户可以更高效地渲染处于不同细节层次上的物体。并且,实时的,场景中进入指定观察距离的那部分对象将从磁盘中载入,而它们一旦超出这一距离时,将从内存中被移除。

  • 透明:要实现透明或半透明几何体的正确和高效的渲染,需要首先渲染 所有不透明的几何体,再渲染透明几何体。而且,透明几何体必须按照深度排序并按照“从后向前”的顺序渲染。场景图形一般都会提供上述 这些操作。

  • 状态改动最少化:为了最大限度地提升程序性能,应该避免冗余和不必 要的状态改变。场景图形会按状态对几何体进行排序以最小化状态改 动,OpenSceneGraph 的状态管理工具则负责消除冗余的状态改变。

  • 文件 I/O:场景图形可以高效地读写磁盘上的 3D数据集。在将数据读入内存之后,应用程序可以方便地通过内建的场景图形数据结构操控动态3D数据。场景图形也是一个高效的文件格式转换工具。

  • 更多高性能函数:除了底层 API提供的基础函数之外,场景图形库还提供了高效能的功能函数,例如全特性的文字支持,渲染特效的支持(例如粒子特效,阴影),渲染优化,3D模型文件读写的支持,并支持对跨 平台的输入、渲染及显示设备的访问。