(4) 摄像机、光照和阴影

简介
这篇教程主要介绍如何使用灯光对象以及如何产生阴影。我们还会稍微了解一下摄像机的用法。

 

从这里开始
在上一教程的基础上,将文件TutorialApplication.cpp和TutorialApplication.h替换为如下两个文件:
  BasicTutorial2.h
  BasicTutorial2.cpp

 

摄像机
摄像机是用来观察我们所创建的场景。摄像机是一个特殊的物体,他的工作方式有点类似于场景节点。
摄像机对象有方法:setPosition, yaw,rollpitch,并且他可以绑定到任何场景节点。就像场景节点一样,摄像机的位置跟父节点有关(就好像尊重长辈一样)。对所有的移动和旋转来说,你可以把摄像机考虑成场景节点。
对于Ogre摄像机来说,有一点跟你想象不一样的是同一个时间内你只能使用一台摄像机(当前)。我们不能这么干:
    创建一个摄像机观察场景中的一部分,而在创建第二个摄像机观察场景中的另一部分,就好比你的眼睛同时只能看你前方的东西一样。

 

如何创建一个摄像机
我们重载了基类BassApplication的createCamera方法,自己来实现摄像机的创建,代码如下:

当你创建完一个摄像机,可以通过其名字取得摄像机对象的指针:getCamera("PlayerCam")

然后我们设置摄像机的位置和朝向,我们将设置摄像机朝向坐标原点,所以我们需要设置一个恰当的Z轴距离。添加下面的代码到createCamera:

lookAt方法非常灵活,你能够设置它面向任何你想要的角度。场景节点也有同样的方法,能够通过此方法在任何情况下,很容易的达到你想要的方向。

最后,设置一个5单位距离的近距离裁剪。通过设置摄像机的裁剪距离,来规定该距离内的事物是你看不到的。设置近距离裁剪后,你能够在离实体很近的时候,很容易的透过实体看到场景。还有一种很微小的情况就是,当你和某个物体很近时,这个物体将填满你的整个视野。同样,你也可以设置远距离裁剪。这个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值