什么可能停止工作的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”,这意味着您正在供给在顶点缓冲器“变换和点亮”顶点,因此该装置是不会变换矩阵适用于这些顶点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top