设置D3DXMatrixLookAtLH不能达到视图移动的效果呢?
时间:2011-09-30
来源:互联网
C/C++ code
我想用以上的代码来实现整个camera的移动,但是没达到效果
为什么呢?
D3DXVECTOR3 eyePt = *MyCamera.MyCamera.GetEyePt(); eyePt.z += 10; D3DXVECTOR3 lookAt = *MyCamera.MyCamera.GetLookAtPt(); lookAt.z -= 10; eyePt.z += 10; MyCamera.MyCamera.SetViewParams(&eyePt, &lookAt);
我想用以上的代码来实现整个camera的移动,但是没达到效果
为什么呢?
作者: WJN92 发布时间: 2011-09-30
据我所知,D3DXMatrixLookAtLH中的“LH”是Left Hand的缩写,因此,这个函数名称的意思是“左手坐标系的观察矩阵”。这个SDK自带的Camera只能设置一些属性:
1、 观察点:摄象机摆放的位置
2、 目标点:摄象机对着一个地方
3、 观察范围:圆锥形状投影范围的夹角大小,单位是弧度。
4、 可见的最近距离和最远距离:这两个距离中间的观察范围就是可见区域。
5、 纵横比:显示时候的宽和高比例,一般为1。
所以它只能是固定的……
若要制作一个能够移动的摄像机,只能是自己创建一个摄像机类,通过矩阵变换来移动摄像机……剩下的,楼主可以自己搜索相关资源了……
PS:我也烦这个……
1、 观察点:摄象机摆放的位置
2、 目标点:摄象机对着一个地方
3、 观察范围:圆锥形状投影范围的夹角大小,单位是弧度。
4、 可见的最近距离和最远距离:这两个距离中间的观察范围就是可见区域。
5、 纵横比:显示时候的宽和高比例,一般为1。
所以它只能是固定的……
若要制作一个能够移动的摄像机,只能是自己创建一个摄像机类,通过矩阵变换来移动摄像机……剩下的,楼主可以自己搜索相关资源了……
PS:我也烦这个……
作者: ProsperLee 发布时间: 2011-10-04
不晓得LZ的这个MyCamera.MyCamera是怎样封装的…
一般而言eyePt.z += 10,lookAt.z也会相应的 += 10,LZ这里是 -= 10,没明白是什么意思…
一般而言eyePt.z += 10,lookAt.z也会相应的 += 10,LZ这里是 -= 10,没明白是什么意思…
作者: kenkao 发布时间: 2011-10-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28