版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bainaqianhong/article/details/82586713
Introduction to 3D Game Programming with DirectX 12
8.2.2 Transforming Normal Vectors
static XMMATRIX InverseTranspose(CXMMATRIX M)
{
XMMATRIX A = M;
A.r[3] = XMVectorSet(0.0f, 0.0f, 0.0f, 1.0f);
XMVECTOR det = XMMatrixDeterminant(A);
return XMMatrixTranspose(XMMatrixInverse(&det, A));
}