Ogre 整體框架入門

2022-06-18 10:54:12 字數 866 閱讀 6083

ogre 是物件導向的3d圖形引擎。

root 是引擎的乙個介面類,包含很多快捷的呼叫其他類的介面。

在ogre中,廣泛的使用了單件模式,同時最大的保證了你不需要自己管理資源,除了是你自己new的物件(這很少),基本你只需讓ogre負責資源管理就行。這對於乙個複雜的類庫來說,確實是乙個很強大的特性。

ogre主要分為場景管理(scenemanager),資源管理(resourcegroupmanager),渲染器(rendersystem),還有活動物件(movable object)這幾樣重點的。其中渲染器是封裝底層圖形api的,一般無需進行程式設計。資源管理器負責排程程式所需要的模型,材質,紋理等資源。而重點,是放在場景管理和對活動物件的程式設計上。場景管理是管理3d邏輯空間的劃分,變換,和空間搜尋等操作的。其中劃分是乙個場景管理的固有功能,無需程式設計,主要程式設計在於3d空間變換和空間搜尋上,而將活動物件掛接在3d空間的樹狀物件點上。樹狀抽象了每個點的3d空間,有自身空間,父空間,還有根空間(也就是世界空間座標系)。活動物件是乙個具體的可以渲染的物件,比如模型,紋理,材質,粒子等,或者是一些協助渲染的物件,比如攝像頭,燈光等。

這麼複雜的乙個物件結構,他們是怎樣通訊的呢。我留意到了,幾乎所有「例項」,都有乙個對應的字串相關,這是乙個標識物件和搜尋物件的快捷的辦法。比如我們要搜尋「head"模型,只需要在資源管理器的查詢api中將"head"傳遞過去。然後,所有的物件都有乙個物件管理器的單件實現來負責管理,這就為我們提供了簡單的入口點。

另乙個程式編寫的重點在於活動物件本身。主要是他的屬性的設定上,相當豐富,ogre的做法是通過指令碼來設定。你會看到材質指令碼,紋理指令碼,模型指令碼, gpu程式指令碼,粒子指令碼等。這在某種程度上,也幫助了視覺化輔助工具的開發。假設,我們都能夠用工具來生成這些指令碼,那麼我們實際要程式設計的東西就可以少很多了。

Ogre 整體框架入門

ogre 是物件導向的3d圖形引擎。root 是引擎的乙個介面類,包含很多快捷的呼叫其他類的介面。在ogre中,廣泛的使用了單件模式,同時最大的保證了你不需要自己管理資源,除了是你自己new的物件 這很少 基本你只需讓ogre負責資源管理就行。這對於乙個複雜的類庫來說,確實是乙個很強大的特性。ogr...

ogre 整體框架入門

ogre 是物件導向的3d圖形引擎。root 是引擎的乙個介面類,包含很多快捷的呼叫其他類的介面。在ogre中,廣泛的使用了單件模式,同時最大的保證了你不需要自己管理資源,除了是你自己new的物件 這很少 基本你只需讓ogre負責資源管理就行。這對於乙個複雜的類庫來說,確實是乙個很強大的特性。ogr...

php CI框架入門

顯示2.控制器認識 controller是框架控制器資料夾 我們來寫一下自己的控制器,控制器檔名要和類名一直,類名首字母大寫 test.php檔案 defined basepath or exit no direct script access allowed class test extends ...