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

本文参考<>, <>, <> 整理而来,  感谢大牛们的精彩著作. 相比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渲染引擎的核心部件:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第1张图片
 渲染流程1:
OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第2张图片
渲染流程2:
OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第3张图片



节点访问:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第4张图片


渲染状态排序1:
OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第5张图片








渲染状态树:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第6张图片


渲染场景视图树:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第7张图片





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

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第8张图片


加载数据的过程:


OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第9张图片




两种场景结构图对比:
OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第10张图片



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

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第11张图片




消息事件处理流程:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第12张图片



图形设备抽象:

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识_第13张图片


先看整体, 然后看局部, Osg的结构会了然于胸.


你可能感兴趣的:(渲染引擎,专栏)