1. 背景圖片渲染原理
1.1 渲染隊列機制
Ogre3D 使用渲染隊列(Render Queue)來控制對象的渲染順序。背景圖片需要在所有其他對象之前渲染,因此我們將其設置為 RENDER_QUEUE_BACKGROUND。
1.2 視圖變換控制
為了讓背景圖片始終保持在場景的最遠處,我們需要:
- 使用單位投影矩陣:
setUseIdentityProjection(true)
- 使用單位視圖矩陣:
setUseIdentityView(true)
- 設置無限包圍盒:
setBoundingBox(Ogre::AxisAlignedBox::BOX_INFINITE)
2. 完整實現代碼
2.1 創建背景節點(OgreNodeManager.cpp)
void OgreNodeManager::createBackgroundNode(CameraNodeObject