关于 c : 无法在 D3D9 中使用 SetTransform | 珊瑚贝

Unable to use SetTransform in D3D9


什么可能会阻止 IDirect3DDevice9::SetTransform 工作?我查看了很多在 Direct3D9 中使用转换矩阵的教程,包括这里的这个。据我所知,他们都这样做。

我正在尝试编写一些代码来转换纹理多边形。我用一个用 D3DXMatrixTranslation 初始化的矩阵调用 SetTransform,它返回 S_OK。然而,实际绘制到屏幕上的多边形并没有得到转换。

1
2
3
4
5
6
7
8
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);

  • @GMan:不。只有两个多边形和一个纹理
  • 那是实际的代码,中间什么都没有?我假设您也设置了其他矩阵? (投影
  • 您设置了 “D3DFVF_TLVERTEX”,这意味着您在顶点缓冲区中提供了 “Transform and Lit” 顶点,因此设备不会对这些顶点应用变换矩阵。

  • 您设置了 “D3DFVF_TLVERTEX”,这意味着您在顶点缓冲区中提供了 “Transform and Lit” 顶点,因此设备不会对这些顶点应用变换矩阵。


您设置了 “D3DFVF_TLVERTEX”,这意味着您在顶点缓冲区中提供了 “Transform and Lit” 顶点,因此设备不会对这些顶点应用变换矩阵。

  • 是的,就是这样,显然Transformed也意味着”并且无法进一步转化”。


来源:https://www.codenong.com/1740093/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8918.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?