D3DXMatrixTranslation的问题
我贴了一个X文件,想按左键的时候让它用D3DXMatrixTranslation的办法让他平移
于是添加了
D3DXMATRIX W;
if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )
D3DXMatrixTranslation(&W,1.0f,0.0f,0.0f);
Device->SetTransform(D3DTS_WORLD, &W);
结果X文件被撕裂了。。变成乱七八糟的图形,
去掉if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )后正常。。这是怎么回事啊。。。
求指教
于是添加了
D3DXMATRIX W;
if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )
D3DXMatrixTranslation(&W,1.0f,0.0f,0.0f);
Device->SetTransform(D3DTS_WORLD, &W);
结果X文件被撕裂了。。变成乱七八糟的图形,
去掉if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )后正常。。这是怎么回事啊。。。
求指教
作者: kgstation 发布时间: 2011-06-10
去掉if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )是什么意思?
D3DXMatrixTranslation(&W,1.0f,0.0f,0.0f)也跟着去掉了吗?
如果也跟着去掉了,那么矩阵W就是未初始化的不正确的值,用这个不正确的矩阵去旋转模型,渲染的结果就会混乱了。
D3DXMatrixTranslation(&W,1.0f,0.0f,0.0f)也跟着去掉了吗?
如果也跟着去掉了,那么矩阵W就是未初始化的不正确的值,用这个不正确的矩阵去旋转模型,渲染的结果就会混乱了。
作者: Silenker 发布时间: 2011-06-12
加上括号试试
C/C++ code
C/C++ code
if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f ) { D3DXMatrixTranslation(&W,1.0f,0.0f,0.0f); Device->SetTransform(D3DTS_WORLD, &W); }
作者: ilysony 发布时间: 2011-06-12