透视投影矩阵可以用下面的XNA数学函数建立:
XMMATRIX XMMatrixPerspectiveFovLH( // returns projection matrix FLOAT FovAngleY, // vertical field of view angle in radians FLOAT AspectRatio, // aspect ratio = width / height FLOAT NearZ, // distance to near plane FLOAT FarZ); // distance to far plane
下面的代码片段演示了如何使用D3DXMatrixPerspectiveFovLH。在这里,我们指定一个45°的视图垂直场,在z =1近平面和远平面在z =1000(这些长度是在视图空间中)。
XMMATRIX P = XMMatrixPerspectiveFovLH(0.25f*MathX::Pi, AspectRatio(), 1.0f, 1000.0f);
纵横比取决于我们窗口的长宽比:
float D3DApp::AspectRatio()const { return static_cast<float>(mClientWidth) / mClientHeight; }
本文固定链接:http://www.oxox.work/web/directx11/xmmatrixperspectivefovlh/ | 虚幻大学