createSceneManager() - 創建場景管理器
getTimer() - 獲取時間
getSingleton() - 獲取單件引用
showConfigDialog() - 顯示配置對話框
restoreConfig() - 恢復配置
initialise() - 初始化窗口
事件與實體,綁定。動態綁定,靜態綁定。
封裝應用邏輯,可獲取root
SceneManager
ResourceManager
RenderWindow
SceneManager
createCamera() - 創建攝影機
createEntity() - 創建實體
createLight() - 創建光源
createMovableObject() - 創建移動對象
createParticleSystem() - 創建粒子系統
createRayQuery() - 創建射線查詢器
setAmbientLight() - 設置環境光
setFog() - 設置霧
setShadowColor() - 設置陰影顏色
setShadowTechnique() - 設置陰影Technique
setSkyDome() - 設置天空穹
showBoundingBoxes() - 顯示包圍盒
//設置陰影
Ogre::SHADOWTYPE_STENCIL_ADDITIVE 模板陰影
SceneManager::setShadowTechnique(
MoveableObject Entity
SceneNode
要渲染用Renderble,
Renderble是靜態的。不移動的。
要移動用Movable
即渲染又移動SimpleRenderable, 多繼承
Ogre::SceneNode 場景結點
Ogre::BspSceneNode 靜態場景結點
Ogre::OctreeNode 八叉樹室外場景結點
Ogre::PCZSceneNode 室內場景
detachObject() 解綁,支持換裝
比如換刀,換盔甲等。
showBoudingBox 顯示包圍盒
每個Entity都有Listener,特定的事件可以
爲特定的Entity來編寫。
這樣就分開了,屬於事件驅動。
實際上控制的變化,都在Listener內。
Listener與攝影機發生交互,那就可以將Listener與攝影機合併。
而如果是特定實體的事件,則可以將Lisener綁定到實體上。
而實體不需要時則可以解綁。
這樣事件是可複用的。所以邏輯算法基本上就是控制
Lisener。
Entity::getListener
Entity::setListener(); 添加一個事件
SceneNode::setListner(); 添加一個事件
SceneNode::getListner(); 獲取一個事件
各種Listener 監聽器
FrameListener 幀監聽器
WindowEventListener 管理窗體事件
RenderTargetListner()
Effects 效果
Compositor 效果後期合成等
Partical 粒子
Billboard 公告板
Materials 材質,真實感都與材質算法有關。
Math 是數學庫是實現具體算法的。
Overlay
RTShader - 可編程,用於效果處理