首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

DirectX的物体变换有关问题{Shader部分}!SetMatrix

2012-04-09 
求助DirectX的物体变换问题{Shader部分}!SetMatrix!以下是我不懂的片段。。这段片段是画若干个球在屏幕上!然

求助DirectX的物体变换问题{Shader部分}!SetMatrix!
以下是我不懂的片段。。这段片段是画若干个球在屏幕上!
然后每隔10就放一个球!
1.不懂为什么要先D3DXMatrixInverse(&WIT, 0, &W);
D3DXMatrixTranspose(&WIT, &WIT);
2.HR(mFX->SetMatrix(mhWVP, &(W*mView*mProj)));
HR(mFX->SetMatrix(mhWorld, &W));
HR(mFX->SetMatrix(mhWorldInvTrans, &WIT));
这边的三个SetMatrix分别有什么用呢?
为什么这样就能把物体给变换好了呢?原先不是要用SetTransform么?

C/C++ code
for(int z = -30; z <= 30; z+= 10)    {        D3DXMatrixTranslation(&W, -10.0f, 7.5f, (float)z);        D3DXMatrixInverse(&WIT, 0, &W);        D3DXMatrixTranspose(&WIT, &WIT);        HR(mFX->SetMatrix(mhWVP, &(W*mView*mProj)));        HR(mFX->SetMatrix(mhWorld, &W));        HR(mFX->SetMatrix(mhWorldInvTrans, &WIT));        HR(mFX->CommitChanges());        HR(mSphere->DrawSubset(0));    }

请各位高手帮帮小弟!此问题已经困扰小弟好久了!一直没能找到答案!

[解决办法]
1 平移,求逆,转置。
2 视图、投影,世界变换。
T^(-1)*A*T, 有点像是要 将一个物体搬移到坐标原点做变换,然后再搬移到原处。
就是为了变换矩阵好求一点。

热点排行