Direct3D 中 view matrix 的问题

dingounan 2006-02-11 07:14:37
我知道view matrix 就是world matrix的逆,
那为什么我还要通过D3DXMatrixLookAt指定三个向量来获得view matrix?

...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
popy007 2006-02-13
  • 打赏
  • 举报
回复
view matrix 就是world matrix的逆,这是句半截话,应该是

view matrix 是 camera 的 world matrix 的逆,而不是D3D中的global world matrix

view matrix 是在 camera 的 world matrix 基础上,从理论角度求逆推导出来的。

实际上不使用camera 的world matrix,而直接使用推导出的view matrix。

而view matrix的构造需要三个特殊的向量:

eye vector
lookat vector
up vector

D3DXMatrixLookAt方法可以用这3个向量构成view matrix。

而者3个向量就是用来在3d空间中让camera进行丰富多彩

运镜方式的手段。
寻开心 2006-02-13
  • 打赏
  • 举报
回复
一般情况下:三维世界当中有三种矩阵
1 world matrix 叫做世界矩阵, 它控制的是对象在场景当中的位置或者姿态
2 view matrix 叫做视/相机矩阵,它控制的是相机在场景当中的位置和姿态
进而决定了场景当中的哪些物体是可见的
3 project matrix 叫做投影矩阵,它控制的是相机当中可见的物体,在屏幕上如何显示

D3DXMatrixLookAt的三个参数eye,lookat和up三个向量分别控制的是相机在场景当中的位置,观察方向以及视野当中的上方向

view和world的逆的概念从哪里来的? 显然不是完整的描述,给出上下文才能说明

8,304

社区成员

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

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