Что может помешать работе IDirect3DDevice9::SetTransform? Я просмотрел множество руководств по использованию матриц преобразования в Direct3D9, в том числе вот этот. И насколько я могу судить, они все делают это одинаково.
Я пытаюсь написать код только для перевода текстурированного полигона. Я вызываю SetTransform с матрицей, инициализированной с помощью D3DXMatrixTranslation, и она возвращает S_OK. Однако реальные многоугольники, нарисованные на экране, не трансформируются.
D3DXMATRIX m_Translation;
D3DXMatrixTranslation(&m_Translation,100,100,0);
d3dDevice->SetTransform(D3DTS_WORLD, &m_Translation);
d3dDevice->SetFVF(D3DFVF_TLVERTEX);
d3dDevice->SetStreamSource(0, vertexBuffer, 0, sizeof(TLVERTEX));
HRESULT hr = d3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, 2);