gpt4 book ai didi

c++ - 无法在 D3D9 中使用 SetTransform

转载 作者:行者123 更新时间:2023-11-30 03:11:57 25 4
gpt4 key购买 nike

什么可能会阻止 IDirect3DDevice9::SetTransform 工作?我看过很多在 Direct3D9 中使用变换矩阵的教程,包括 this one here .据我所知,他们都以同样的方式做到这一点。

我正在尝试编写一些代码来平移纹理多边形。我用一个用 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);

最佳答案

您设置“D3DFVF_TLVERTEX”,这意味着您在顶点缓冲区中提供“变换和点亮”顶点,因此设备不会将变换矩阵应用于这些顶点。

关于c++ - 无法在 D3D9 中使用 SetTransform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com