OpenSceneGraph源码分析:osg模块
济南友泉软件有限公司
osg库是OpenSceneGraph最为重要的一个模块,也是OS从第一个版本到当前版本一直都存在的库。osg库提供了场景节点管理、图形绘制、渲染状态管理等功能。
注1:文章内容会随着后续研究不断更新。
注2:限于笔者认知水平与研究深度,难免表述不当,欢迎大家批评指正。
一、内存管理
OSG通过引用计数提供了一种自动管理内存的机制。在OSG中,引用计数机制由osg::ref_ptr和 osg::Referenced实现。
所有的OSG的节点和场景图形数据(状态信息 顶点数组 法线 纹理坐标)都派生于osg::Referenced类进行内存引用计数。
二、场景管理
OSG使用场景树的方式来管理三维场景,使用逻辑组来构建场景树,以便进行高效的渲染和遍历等。
三、图形绘制
所有加入场景中的数据都会加入到一个osg::Group类对象中,而几何图形则由osg::Geode来组织管理。当几何对象构建完成之后,需要将其添加到一个osg::Geode对象中,然后再将这个osg::Geode加入到场
共有 0 条评论