Я пытаюсь визуализировать куб в мировом пространстве, когда я передаю мировой XMMatrix в качестве матрицы идентичности, куб прекрасно отображается:
Но когда я пытаюсь добавитьперевод и коэффициенты масштабирования в матрицу мира я получаю это:
/************************ TRANSFORM.CPP *********************/
m_position = { 0.0f,0.0f,0.0f };
m_scale = { 1.0f,1.0f,1.0f };
DirectX::XMStoreFloat4x4(&m_matrix_translation ,
DirectX::XMMatrixTranslation(m_position.x, m_position.y, m_position.z));
DirectX::XMStoreFloat4x4(&m_matrix_scalar,DirectX::XMMatrixScaling(m_scale.x, m_scale.y, m_scale.z));
/************************* RENDER.CPP ***********************************/
DirectX::XMMATRIX view = gp_MainCameraH->GetXM_View();
DirectX::XMMATRIX world = GetXM_Scalar() * GetXM_Translation(); // if this is kept as Identity matrix , the cube gets rendered fine ( first image)
DirectX::XMMATRIX proj = gp_MainCameraH->GetXM_Projection();
DirectX::XMMATRIX vp = view * proj;
DirectX::XMMATRIX wvp = world * vp;
// Set the constant buffer of the shader
RenderStateManager::GetEffectVariable("gWorldViewProj")->SetMatrix(reinterpret_cast<float*>(&(wvp)));