osgUtil.VertexCacheVisitor
是OpenSceneGraph中的一个访问器类,用于优化渲染性能。
osg::NodeVisitor
-> osg::NodeVisitorWithCache
-> osgUtil::VertexCacheVisitor
osgUtil::VertexCacheVisitor
能够重复利用顶点缓存中已经存在的顶点,从而减少绘制时的顶点着色计算、顶点缓存与内存访问等开销,提高渲染性能。
具体实现方式是对场景中的几何体进行遍历,对每个几何体中的顶点进行排序,按照最优的顺序重组,从而使存储在缓存中的顶点更容易重用,减少状态切换造成的性能损耗。
使用osgUtil::VertexCacheVisitor
非常简单,只需实例化该类并将其传递给场景根节点的accept()
方法即可,代码示例:
osg::ref_ptr<osg::Node> root = createSceneGraph();
osgUtil::VertexCacheVisitor vcv;
root->accept(vcv);