1. 程式人生 > >OSG(OpenSceneGraphic) 渲染引擎架構--整體認識

OSG(OpenSceneGraphic) 渲染引擎架構--整體認識

本文參考<<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:









渲染狀態樹:

渲染場景檢視樹:







攝像機,圖形裝置,渲染器,場景圖,場景檢視之間的關係:



載入資料的過程:







兩種場景結構圖對比:

多執行緒 載入資料時所用的緩衝區:






訊息事件處理流程:


圖形裝置抽象:




先看整體, 然後看區域性, Osg的結構會了然於胸.