OGRE教程学习笔记-1.2

1.    创建摄像机:

mCamera = mSceneMgr->createCamera(“PlayCam”);

这将创建一个叫"PlayerCam"的摄像机。如果你不打算保留它的指针,那么你可以调用场景管理器的方法 getCamera 通过传递它的名字来获取它。

Virtual Camera* Ogre::SceneManager::createCamera(const String & name )[virtual]

创建一个被场景管理器操作的摄像机

评论:

这个摄像机一定要以后通过SceneNode类的attachObject方法绑定到场景中。

参数:

name : 给新摄像机起的名字

 

2.设置摄像机的位置:

mCamera->setPosition(Vector3(0,100,500));

void Ogre::Billboard::setPosition(const Vector3 & position )

设置公告板的位置

评论:

位置和公告板四元组上面的点有关系,依赖于BillboardSet,该位置可能是四元组的中心,例如左上角的点,如需更多信息请查看:BillboardSet::setBillboardOrigin

 

3设置摄像机的方向

void Ogre::Camera::lookAt(const Vector3 & targetPoint)

指出摄像机在世界坐标系中的位置

评论:

这是一个有利于自动产生一个摄像机的方向向量的方法,基于他当前的位置和提供给它的方向点。

参数:

target 一个指定摄像机方向的向量

 

4.设置摄像机的进距离剪裁:

mCamera->setNearClipDistance(5);

virtual void Ogre::Frustum::setNearClipDistance(Real nearDist) [virtual]

设置近距离剪裁平面的位置

评论:

近距离剪裁平面的位置是从平截头体的位置到世界坐标投影到屏幕上的距离。近平面距离和可视区和屏幕纵横比联合起来共同决定在世界坐标系下面视口的大小。注意世界坐标系下的视口和以像素显示的屏幕视口不同。平截头体视口应该和渲染到屏幕以避免曲解的屏幕视口有一样的纵横比。

setFarClipDistance();和该方法相似省略

 

5创建视口

Viewport* vp = mWindow->addViewport(mCamera);

 

Virtual Viewport* Ogre::RenderTarget::addViewport(

Camera* cam,

int ZOrder = 0,

float left = 0.0f,

float top = 0.0f,

float width = 1.0f,

float height = 1.0f

)  [virtual]

给渲染目标增加一个视口】

评论:

视口是渲染结果输出到的矩形。该方法添加一个视口到摄像机提供的渲染目标。如果你想给一个单独的渲染目标添加不止一个视口的时候,其余的参数是必需的。注意传递给该方法大小信息是作为参数传递过去的。这些参数并非全部有关系。这就使视口随着目标可以自动的改变。

参数:

cam 视口内容将从该摄像机开始渲染(强制的)

ZOrder 相对于其他视口而言,该视口的次序。ZOrder大的视口在Zorder小的值的视口的上面。实际数量是不相干的,只和相对的Zorder

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值