1、简化几何体
在 OSG 中,场景都是由基本的绘图基元构成的,基本的绘图基元构成简单的几何体,简单的几何体构成复杂的几何体,复杂的几何体最终构造成复杂的场景。当多个几何体组合时,可能
存在多种降低场景渲染效率的原因。在很多 3D 引擎中,都提供了对场景的几何体进行修改的操作,以达到最优渲染效率。虽然最优渲染效率只是一个理想状态,但一定的几何体操作在相当程度上可以提高渲染效率。
在 OSG 中,为了获得所需的性能和渲染的效率,osgUtil 库提供了一些通用的几何体运算,这些几何体运算主要包括 osgUtil::Simplifier(简化)、osgUtil::SmoothingVisitor(生成法线)、osgUtil::DelaunayTriangulator(生成 Delaunay 三角网工具)和 osgUtil::TriStripVisitor(条带化)等。
下面就来介绍几种常用的几何体操作。
1.1 osgUtil::Simplifier类
简化几何体(osgUtil::Simplifier)类继承自 osg::NodeVisitor 类,它采用访问器的方式遍历几何体并对其进行简化处理,在后面的章节将会详细说明访问器的工作机制。osgUt