多數(shù)情況下,在游戲開(kāi)發(fā)過(guò)程中,我們需要經(jīng)常用變換來(lái)設(shè)置角色的變換。下面以平移、縮放、旋轉(zhuǎn)來(lái)說(shuō)明一點(diǎn)在矩陣變換中需要注意的地方。
假設(shè)有如下數(shù)據(jù):
D3DXMatrix rotateMat;
D3DXMatrix scaleMat;
D3DXMatrix translateMat;
...... // 這里的 ...... 表示,經(jīng)過(guò)了一系列的變換,在接下來(lái)的代碼中,rotateMat、scalMat、translateMat已經(jīng)是經(jīng)過(guò)變換的了。
D3DXMatrix worldMat;//該矩陣用于保存上面三個(gè)合成的最終變換信息
D3DXMatrixIdentity(&worldMat);
D3DXMatrixMultiply(&worldMat, &rotateMat, &worldMat);//注意格式,需要如此寫(xiě)。
D3DXMatrixMultiply(&worldMat, &scaleMat, &worldMat); //注意格式,需要如此寫(xiě)。
D3DXMatrixMultiply(&worldMat, &translateMat, &world);//注意格式,需要如此寫(xiě)。
假設(shè)有如下數(shù)據(jù):
D3DXMatrix rotateMat;
D3DXMatrix scaleMat;
D3DXMatrix translateMat;
...... // 這里的 ...... 表示,經(jīng)過(guò)了一系列的變換,在接下來(lái)的代碼中,rotateMat、scalMat、translateMat已經(jīng)是經(jīng)過(guò)變換的了。
D3DXMatrix worldMat;//該矩陣用于保存上面三個(gè)合成的最終變換信息
D3DXMatrixIdentity(&worldMat);
D3DXMatrixMultiply(&worldMat, &rotateMat, &worldMat);//注意格式,需要如此寫(xiě)。
D3DXMatrixMultiply(&worldMat, &scaleMat, &worldMat); //注意格式,需要如此寫(xiě)。
D3DXMatrixMultiply(&worldMat, &translateMat, &world);//注意格式,需要如此寫(xiě)。


