D3D11空间变换

D3D11相对于10来说对于矩阵以及向量的设置有了一定改变,从原来的D3DX~形式转成了XM~形式。但是基本的操作函数后面的内容则未做改变。

        下面对几个变换矩阵的参数进行些许说明:

       1)在视图矩阵中包含:

pEye:设置摄像机的位置
pAt:设置摄像机的观察点
pUp:设置方向“上”

eye即为你要放置的摄像机的位置,at为摄像机中心需要观察的点的位置,这个“上”其实指的就是摄像机在刚建立的时候是如何摆放的,是向左边侧着摆,还是向右边侧着摆,还是倒过来摆,都是通过这个方向“上”来指定的。按照正常的理解,摄像机的“上”方向就是Y轴的正方向,但是我们可以指定方向“上”为Y轴的负方向,这样世界建立起来后就是颠倒的了。不过颠倒与否,也是相对来说的了,试问在没有引力的世界中,谁能说出哪是上哪是下呢?只要自己亲手改变一下这些参数,就可以体会到了。

        2) 在投影矩阵中包含:

fovY:定义镜头垂直观察范围,以弧度为单位。对于这个参数,下面是我的理解:如果定义为D3DX_PI/4(90度角),那么就是表示以摄像机的观察方向为平分线,上方45度角和下方45度角就是摄像机所能看到的垂直范围了。嗯,可以想象一下自己的眼睛,如果可以把自己眼睛的fovY值设为D3DX_PI/2(180度角),那么我们就可以不用抬头就看得见头顶的东西了。如果设为D3DX_PI的话。。。我先编译一下试试(building…)。哈哈,结果啥也看不见。很难想象如果自己能同时看到所有方向的物体,那么将是一个怎样的画面啊。
Aspect:设置纵横比。如果定义为1,那么所看到的物体大小不变。如果定义为其它值,你所看到的物体就会变形。不过一般情况下这个值设为显示器屏幕的长宽比。(终于明白为什么有些人会说电视上的自己看起来会比较胖了……)
zn:设置摄像机所能观察到的最远距离
zf:设置摄像机所能观察到的最近距离

你可能感兴趣的:(D3D11空间变换)