清源游民 mailto:gameogre@gmail.com
子系統概覽
Root Object
Root 是程序進入點,它是一個fa?ade 類,提供了訪問子系統的方便的方法。通過它可以開啟ogre,也可能通過它關閉ogre。
資源管理
在渲染場景中使用的任何東西都被視為資源。所有的資源最終都被一個單個類對象管理:ResourceGroupManager,它負責定位資源,初始化資源(不真正裝載)。
在缺省情況下,Ogre認識以下類型的資源:
Mesh: 二進制格式,它也可包含 morph 和 pose 動畫數據
Skeleton: 可以被Mesh文件引用,也可單獨使用,包含骨骼層次結構信息,關鍵幀信息。
Material: 定義了渲染一組幾何體時的渲染狀態,可以被mesh文件引用,也可以手工使用。
GPU 程序:.program 支持HLSL, GLSL,Cg 與低級的 .asm ,這些文件會在任何.material之間被剖析,因此在一個material之中被引用的Gpu程序總是有效的。
Compositor: 與Material很相似,擴展名不同.
Font: 用字體定義文件去定義在overlay中使用的字體,擴展名 .fontdef
每種資源都有自己的特定的ResourceManager,如,MaterialManager, FontManager。ResourceGroupManager負責通過名字查找資源,它不負責實際的內存管理任務。這些任務是由ResourceManager基類來完成的。ResourceGroupManager允許通過組名來加載,釋放整組資源。
默認情況下,Ogre認為資源以一個磁盤文件的形式存在。然而,有些類型的資源可以手工管理,當前只有mesh, font 有手工資源加載的實現。其他類型的可以自己實現,Ogre已經在它的框架中保留了這種功能。
場景管理
所有的具體實現都從SceneManager派生而來,程序中常與此類交互。,可以有多個活動的SceneManager。它們用來管理SceneNode, SceneNode可以在場景中被移動。SceneNode也可以有層次結構。
場景實際內容經常也Entity實例的形式存在。它們被Scene Manager創建,MovableObject實現。一個有效的Entity可以被attach 到SceneNode上面。Entity 經常從磁盤上以 mesh文件加載。然后也可以手工創建內容對象,如plane.當Entity被attach到SceneNode上時,進行移動等操作是針對SceneNode的,而不是內容對象。
也可以把非內容對象(燈,相機等)attach 到SceneNode上面。
渲染系統與渲染對象
RenderSystem 是Ogre與底層API的接口, RenderTarget 是 渲染窗口與渲染紋理的概括。
Ogre 扶持多個渲染窗口。窗口可以通過Root對象自動、手動地創建,也可能通過RenderSystem創建。
Ogre 管理器
Manager 是一個可以訪問相關類型對象,管理其生命周期的類。例如,ArchiveManager管理Archive實現的創建與注冊,訪問注冊的Archive實現實例。Root對象創建的副作用之一就是初始化所有ogre Manager對象。
LogManager : 發送日志信息到輸出流。
ControllerManager: 管理 controllers,后者是基于各種輸入,為別的類產生狀態值以供使用。
DynLibManager: 管理動態鏈接庫
PlatformManager: 把抽象的訪問轉換成底層硬件與操作系統相關的細節。
CompositorManager: 訪問管理 Compoitor framework.
ArchiveManager: 文件系統目錄,ZIP文件
ParticleSystemManager: 粒子系統,發射器,影響器(affector)
SkeletonManager:? 允許同名的skeleton對象重用
MeshManager :? 管理mesh, 允許同名mesh重用
HighLevelGpuProgramManager: 維護,加載,編譯高級GPU程序
GpuProgramManager: 維護低級GPU程序,把編譯的高級GPU程序轉為匯編
ExternalTextureSourceManager:? 管理外部紋理源類實例,如視頻流
FontManager:? 管理Overlay中使用的字體
ResourceGroupManager: 加載,生命期管理,所有注冊的程序資源
OverlayManager: 加載,創建,2D Overlay 類實例
HardwareBufferManager: 管理共享硬件緩沖, 頂點緩沖,像素緩沖,索引緩沖等。
TextureManager: 管理紋理
總結: 這一章無意覆蓋關于Ogre的所有東西,只說明了一些普遍需要的Ogre對象,和一些不太常打交道的ogre 對象。
?
posted on 2007-03-06 11:18
清源游民 閱讀(1297)
評論(0) 編輯 收藏 引用 所屬分類:
OGRE