1.Ogre中的摄像机
一个摄像机就像真实世界的模拟一样:它从一个特定的方向为你场景的每一帧“照相”(就是说它有一个位置点和一个方向)。它不是一个典型的可渲染的物体,所以即使你在场景中已经有了一个摄像机,这个摄像机也不会被渲染。摄像机既可以被连接到场景的节点上也可以存在于自由的空间中(which means you get to move them around manually if you want their position and/or orientation changed each frame)。就像所提到的那样,摄像机具有拥有一个近切片和一个远切片的视域(field of view)。
我们假设你想要一个具有标准的4:3比例的区域,其近切片距离为5单位,原切片距离为1000单位,摄像机中心轴和上下界的角度皆为30度,下面的代码就创建了这样一个摄像机:
// sceneMgr is an existing instance of a SceneManager implementation. We are
// creating a camera named "MainCam" here.
Camera *camera = sceneMgr->createCamera("MainCam");
// normally you would calculate this from the size of the viewport
camera->setAspectRatio(1.33333f);
// 30 degrees will give more of a long, telescopic view
camera->setFOVy(30.0f);
camera->setNearClipDistance(5.0f);
camera->setFarClipDistance(1000.0f);
渲染模式
摄像机可以用三种不同模式中的一种来渲染场景:wireframe(线框图),solid(实体图),或者“points”(只有点被渲染)。
camera->setPolygonMode(PM_WIREFRAME);
camera->setPolygonMode(PM_POINTS);
camera->setPolygonMode(PM_SOLID);
PolygonMode mode = camera->ge