我是否可以简化以下语句,使其更具可读性?关于对齐要求,我可以一步一步地进行乘法吗?
DirectX::XMStoreFloat4x4(&this->worldTransform, DirectX::XMMatrixMultiply(DirectX::XMMatrixMultiply(DirectX::XMMatrixScalingFromVector(DirectX::XMLoadFloat4(&this->scaling)), DirectX::XMMatrixRotationQuaternion(DirectX::XMLoadFloat4(&this->rotation))), DirectX::XMMatrixTranslationFromVector(DirectX::XMLoadFloat4(&this->translation))));发布于 2014-11-25 20:12:39
使用XMVECTOR和XMMATRIX局部变量。在优化的构建中,生成的代码应该是相同的。
XMVECTOR vTrans = DirectX::XMLoadFloat4(&this->translation);
XMMATRIX mTrans = DirectX::XMMatrixTranslationFromVector(vTrans);
XMVECTOR vScale = DirectX::XMLoadFloat4(&this->scaling);
XMMATRIX mScale = DirectX::XMMatrixScalingFromVector(vScale);
XMVECTOR vRot = DirectX::XMLoadFloat4(&this->rotation);
XMMATRIX mRot = DirectX::XMMatrixRotationQuaternion(rot);
XMMATRIX mTemp = DirectX::XMMatrixMultiply(mScale, mRot);
mTemp = DirectX::XMMatrixMultiply(mTemp, mTrans);
DirectX::XMStoreFloat4x4(&this->worldTransform, mTemp);https://stackoverflow.com/questions/27135615
复制相似问题