文档介绍:计科游戏开发——OGRE 实现阴影
OGRE——阴影
姓名: 班级: 学号:
梁东东
0411102
置 Camera 的位置和它的朝向,我们将空间对象放在原点附近, 因此我们给 Camera
设置一个好的距离在+Z 方向上,摄象机将朝向原点,把这个加在上面代码的后面。
// set its position, direction
mCamera->setPosition(Vector3(0,10,500)); mCamera->lookAt(Vector3(0,0,0));
lookAt 函数是很灵活的,你可以将Camera 朝向任何位置来代替yaw,rotate,和pitch,
SceneNode
也有这个函数,可以简单的设置 Entity 朝向任何方向在各种情况下。
最后我们要设置 near clipping distance 为 5 个单位,clipping distance 指定一个
Camera 多近和多远以外的物体不再看到。设置near clipping distance 可以让你看
计科游戏开发——OGRE 实现阴影
穿屏幕上的 Entity
当你非常接近它们时。当你距离一个物体很近时,它会充满整个屏幕,你只能看到它的很少一部分。你可以同样设置 far clipping distance,这样引擎就不会渲染比这个值远 的任何事物。
它的主要作用是增加刷新率,如果你渲染远距离大数量物体到屏幕上。设置 near clipping,增加这行:
mCamera->setNearClipDistance(5);
设置 far clipping distance 可以类似的方法调用 setFarClipDistance(尽管你不能使用它在后面
使用的模板阴影中)
Viewports(视口)
Viewport 的概念
当你开始涉及多 Camera 时,那Viewport 类的概念会对你很有帮助。提出这个话题是因为我认为对
你理解引擎如何决定使用哪个 Camera 很重要。在引擎里可以同时运行多个SceneManger。也可以把
屏幕分成多个区域,并在屏幕上由分离的 Camera 渲染分离的区域(可以想象为一个游戏分开屏幕给
两个玩家)。我们会在后面的高级教程里再讲解。
理解引擎如何渲染场景,要考虑引擎的三个结构 Camera, SceneManager,RenderWindow 。
RenderWindow 我们还没被涉及。但他是任何物体被显示的基础,SceneManager
对象创建 Camera
来观察场景,你必须告诉 Camera 你的 ,你一般只创建一个 Camera,注册
它使用 RenderWindow,并只有一个 Viewport 对象。
在这个教程里,我们学如何让 Camera 去创建 的渲染场景时
背景色。
创建 Viewport
我们要覆盖 ExampleApplication 里Viewport 的创建 方法,找到Tuto