轉 ogre 渲染流程

2021-09-07 23:20:26 字數 860 閱讀 3071

ogre渲染流程:

1. _fireframestarted()

2. 按某種優先順序更新所有渲染目標

2.1 firepreupdate()

2.2 更新所有視口

2.2.1 fireviewportpreupdate()

2.2.2 場景管理的渲染函式

2.2.2.1 更新陰影

2.2.2.2 更新動畫

2.2.2.3 更新節點

2.2.2.4 更新一些引數

2.2.2.5 清空渲染佇列

2.2.2.6 填充渲染佇列 進行可見性判別

2.2.2.6.1 fireprefindvisibleobjects()

2.2.2.6.2 查詢可見節點並加入渲染佇列

2.2.2.6.3 firepostfindvisibleobjects()

fireprerenderqueues();

2.2.2.7 依次渲染每個佇列組

2.2.2.7.1 firerenderqueuestarted()

2.2.2.7.2 渲染該佇列組

firerendersingleobject()    

prerender()

渲染postrender()

2.2.2.7.3 firerenderqueueended()

firepostrenderqueues();

2.2.3 fireviewportpostupdate()

2.3 firepostupdate()

3. _fireframerenderingqueued()

4. swapbuffer()

5. _fireframeended()

Ogre 渲染佇列(一)

渲染佇列在 ogre 中是乙個重要的概念,在場景中的所有物體都會在繪製前被 ogre 放入到乙個特定的渲染佇列中。渲染佇列主要起兩個作用 1.確保正確的繪製順序。比如先繪製天空盒再繪製一般物體,最後繪製介面。2.提高渲染效率。ogre 將具有相同 pass 的物體放在一起進行繪製,目的是盡可能減少渲...

OGRE 最小ogre程式的流程

總結一下最小ogre程式的流程 1 建立ogre root 2 用ogre root載入外掛程式,必須載入的是場景管理器和渲染器 3 呼叫ogre resourcegroupmanager getsingleton addresourcelocation來設定資源搜尋路徑 ogre的資源管理很智慧型...

Ogre的渲染優化心得

做商業網路遊戲的話,效率是乙個不可避免的話題,為了留更多的空間給客戶端的邏輯,那麼渲染模組就應該盡量高效.小弟只 一下ogre的渲染優化,以大家熟悉的天龍八部為例.以網上流傳版本的天龍 來看,ogre和cegui部分的渲染都有嚴重的效能問題,ogre 地形的實現,乙個tile,只按材質做了批次優化,...