SceneManager
SceneManager负责管理所有可以显示在屏幕中的东西。当你在屏幕中放入某个物体,SceneManager就开始维护他的位置信息。当你创建了一个camera,SceneManager也维护他的信息。
有多种类型的scenemanager,渲染地形的,渲染BSP map的等等。

Entity
Entity即你可以渲染的屏幕上的对象的类型。而灯光,公告板,粒子,摄像机等并不是entity
Ogre将entity和entity的位置方位信息分离。你必须将entity附到一个SceneNode上,这个SceneNode包含了Entity的位置和方位信息。

SceneNode
SceneNode负责维护Entity的位置和方位信息,当你创建一个entity以后,你必须将他附到一个sceneNode后才能渲染。
一个SceneNode可以被多个对象附着,SceneNode也可以附到SceneNode上。SceneNode的位置都是相对于他们父SceneNode的,每个SceneManager都包含一个root node.

你的第一个ogre程序
 createScene成员函数,我们的操作将只在此函数中。
首先我们需要设置环境光照,这样我们才能看到场景内的物体。
mSceneMgr->SetAmbientLight(ColourValue(1,1,1));
然后我们需要创建一个entity。
Entity* ent1=mSceneMgr->createEntity("Robot","robot.mesh");
所有的entity都必须有一个唯一的name。当你创建两个相同name的entity时会报错.
创建完了entity,我们现在要创建爱你SceneNode。因为每一个sceneManager都有一个root SceneNode,我们可以创建一个他的子node
SceneNode *node1=mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode");
最后,我们需要将entity附到sceneNode上来给Robot一个渲染位置
node1->attachObject(ent1);
添加下列信息到你的resource.cfg中
FileSystem=../../media/materials/programs
FileSystem=../../media/materials/scripts
FileSystem=../../media/materials/textures
FileSystem=../../media/models

坐标和向量
ogre使用x和z轴作为水平面,y作为垂直轴。右手坐标系。