电子书《精通DirectX.3D图形与动画程序设计.王德才.pdf》p95
构建一个透视投影矩阵
Aspect表示截头体的纵横比(一个物体的水平宽度除以垂直高度所得比例值)
zn(znear),zf(zfar)为截头体近平面和远平面距离摄像机的距离
示例代码:
构建一个透视投影矩阵
D3DXMATRIX* D3DXMatrixPerspectiveFovLH(
_Inout_ D3DXMATRIX *pOut,
_In_ FLOAT fovy,
_In_ FLOAT Aspect,
_In_ FLOAT zn,
_In_ FLOAT zf
);
fory表示摄像机在y轴上的成像角度(单位为弧度)
Aspect表示截头体的纵横比(一个物体的水平宽度除以垂直高度所得比例值)
zn(znear),zf(zfar)为截头体近平面和远平面距离摄像机的距离
示例代码:
D3DXMATRIX matProject;
D3DXMatrixPerspectiveFovLH(&matProject, forY, height/width, Znear, Zfar);
//g_pd3dDevice为有效的Direct3D设备指针
g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &matProject);