DirectX 11.0 World Transform - PullRequest
       0

DirectX 11.0 World Transform

0 голосов
/ 22 мая 2018

Я пытаюсь визуализировать куб в мировом пространстве, когда я передаю мировой XMMatrix в качестве матрицы идентичности, куб прекрасно отображается: Proper Cube

Но когда я пытаюсь добавитьперевод и коэффициенты масштабирования в матрицу мира я получаю это: Problem

/************************ 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)));

1 Ответ

0 голосов
/ 22 мая 2018

Проблема была с классом преобразования, он создавал пустую матрицу мира.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...