OSG(OpenSceneGraphic) 渲染引擎架构--整体认识 [转]

原文:http://blog.csdn.net/zangle260/article/details/41123067?utm_source=tuicool

本文参考<<osg最长一帧>>, <<OpenSceneGraph三维渲染引擎编程指南>>, <<OpenSceneGraph三维渲染引擎设计与实践>> 整理而来,  感谢大牛们的精彩著作. 相比Ogre来说, Ogre代码很规范, 只是入门资料较少,如果能在学习之前能总体上对架构有个印象就好了, 免得盲人摸象啊, 不过,还好有OSG.

 场景相关: Node, Geode, Group, Transform, LOD, Camera,  NodeVisitor, NodeCallback


 几何图形: Drawable, PrimitiveSet, Geometry, Shape, TessellationHints, Simplifier,

                   DelaunayTriangulator, TriStripVisitor, SmoothingVisitor


 渲染相关: StateSet, Texture, Light, Material,View, ViewerBase, State, RenderLeaf,  

                   RenderBin, RenderState,SceneView, CullVisitor,Renderer,GraphicsContext,  Text


 数据加载: DatabasePager 


 平台相关: OperationThread, GUIEVentHandler



 OSG渲染引擎的核心部件:


 渲染流程1:

渲染流程2:



节点访问:


渲染状态排序1:









渲染状态树:


渲染场景视图树:







摄像机,图形设备,渲染器,场景图,场景视图之间的关系:



加载数据的过程:







两种场景结构图对比:



多线程 加载数据时所用的缓冲区:






消息事件处理流程:




图形设备抽象:

原文地址:https://www.cnblogs.com/mazhenyu/p/4325367.html