什麼可能會停止IDirect3DDevice9 :: SetTransform的工作?我已經看了很多在Direct3D9中使用轉換矩陣的教程,其中包括this one here。據我所知,他們都是這樣做的。無法在D3D9中使用SetTransform
我想寫一些代碼只是爲了翻譯紋理多邊形。我用一個用D3DXMatrixTranslation初始化的矩陣調用SetTransform,並返回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);
你使用的着色器? – GManNickG 2009-11-16 04:46:52
@GMan:不可以。只有兩個多邊形和一個紋理 – 2009-11-16 05:09:42
這就是實際的代碼,兩者之間沒有任何關係?我猜你還有其他的矩陣? (投影&視圖) – GManNickG 2009-11-16 05:38:49