请问D3DXMatrixLookAtLH的几个参数是什么意思

ATField 2003-04-16 08:29:24
请教了。
请问D3DXMatrixLookAtLH的几个参数是什么意思?
文档中的eyePoint, camera look-at target, current-world's up direction
之类的描述太模糊
最好能够示意性的给张图
另外,
希望各位大侠能够告诉一下D3D中的World、View、Projection矩阵是怎么回事
...全文
284 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aarchbishop 2003-04-17
  • 打赏
  • 举报
回复
是这样的,譬如一个左手坐标系(d3d)中,x轴就是right direction,y轴就是up direction,
z 轴就是at direction

所以d3d的文档上说...
pUp
[in] Pointer to the D3DXVECTOR3 structure that defines the current world's up, usually [0, 1, 0].
lipotee 2003-04-17
  • 打赏
  • 举报
回复
由EyePoint到LookAt是Camera的摄影方向向量,然后由该方向向量与Up向量叉乘获得
与摄影方向向量和Up向量都垂直的向量...,最后由该取得的向量与方向向量再做叉乘获得正确的Up向量,也就是说,Up只是用做参考,它的作用为了取得一个正交的坐标系而定义的一个矢量。假设摄影方向为Z,Up方向为Y,则X方向就由前两者求出。。
注意左手坐标系(Z轴向内,OpenGL也是)和右手坐标系(Z轴向外)有不同.
最后获得的是一个D3DMatrix矩阵,一般情况下是用于View的
World矩阵是用于物体本身的位移、缩放等,
View矩阵是用于将物体由世界坐标变换为摄像机坐标,进行Frustrum裁剪等以获得摄像机效果
Project矩阵是把由View得到的三维坐标映射到设备的二维坐标上的矩阵。
ATField 2003-04-17
  • 打赏
  • 举报
回复
谢谢
那么请问current-world's up direction又是什么意思呢?
这是D3DXMatrixLookATLH的第三个参数

up direction太不明确了
  • 打赏
  • 举报
回复
有个好办法,就是你打开3DMAX或其它3D软件。然后建立一个Camera就可以动态的理解了。
LookAt就是Camera前面的点。EyePoint就是Camera后面的。
World就是让整个Device动的矩阵
View就是让整个Camera动的矩阵
Projection就是物体透视矩阵

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧