OGRE場景管理:
PCZSceneManager : public SceneManager
節點:
typedef std::list < SceneNode * > NodeList;
typedef std::list < WireBoundingBox * > BoxList;
攝像機:
class PCZCamera;
天空:
void setSkyZone(PCZone * zone);
光照:
createLight(const String& name);
地帶:
class PCZone;
PCZone * createZone(const String& zoneType, const String& instanceName);
釋放節點:
void removeSceneNode( SceneNode * );
節點查找:
void findNodesIn( const AxisAlignedBox &box,
PCZSceneNodeList &list,
PCZone * startZone,
PCZSceneNode *exclude = 0 );
class PCZIntersectionSceneQuery;-----相交查詢
class PCZRaySceneQuery;---------射線查詢
class PCZSphereSceneQuery;--------球面查詢
class PCZAxisAlignedBoxSceneQuery;------箱查詢(沿軸向)
class PCZPlaneBoundedVolumeListSceneQuery;-------表查詢
簡單地看了OGRE的場景管理,除了OGREMAIN部分,還用了PCZ插件來實繼承并實現。
(class PCZSceneManagerFactory : public SceneManagerFactory)挺復雜的,相比之下,鬼火的場景管理就簡單了,
可調用多種節點。