角度是 y 轴的角度
一般来说,在程序中我们通常给定四个参数来求透视投影矩阵,分别是y方向的视角,纵横比,近剪裁平面到原点的距离及远剪裁平面到原点的距离,通过这四个参数即可求出上面的矩阵,代码如下。
D3DXMATRIX BuildProjectionMatrix(float fov, float aspect, float zn, float zf) { D3DXMATRIX proj; ZeroMemory(&proj, sizeof(proj)); proj.m[0][0] = 1 / (tan(fov * 0.5f) *aspect) ; proj.m[1][1] = 1 / tan(fov * 0.5f) ; proj.m[2][2] = zf / (zf - zn) ; proj.m[2][3] = 1.0f; proj.m[3][2] = (zn * zf) / (zn - zf); return proj ; }
getEye 是获得在Z轴上得位置