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)挺复杂的,相比之下,鬼火的场景管理就简单了,
可调用多种节点。