无法在D3D9使用的setTransform
题
什么可能停止工作的IDirect3DDevice9 ::一个setTransform?我已经看了教程对于很多使用的Direct3D9变换矩阵,其中的这一这里。而据我所知,他们都做同样的方式。
我想只是写一些代码翻译一个texured多边形。我打电话的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);
解决方案
您设置“D3DFVF_TLVERTEX”,这意味着您正在供给在顶点缓冲器“变换和点亮”顶点,因此该装置是不会变换矩阵适用于这些顶点。
不隶属于 StackOverflow