2011-12-28 102 views
2

雖然我正在回顧一些較舊的DirectX代碼,但我使用了函數D3DXVec3Transform和D3DXVec3TransformCoord。在查詢他們的描述時,他們看起來很相似,但我不明白兩者之間的區別。有人能解釋D3DXVec3Transform和D3DXVec3TransformCoord之間有什麼區別,以及背後的數學嗎?DirectX數學函數混淆

回答

4

當變換矩陣由一個3D矢量它導致4D向量其中w!= 1

一個3D矢量可以描述爲4D向量,其中w = 1。

D3DXVec3Transform返回4D向量,其中w!= 1。 D3DXVec3TransformCoord獲取4D矢量,並將其投影到w = 1上以使其成爲3D矢量。

編輯:這裏是我google'd,發現如果有興趣怎麼辦轉型紙: http://www.heldermann-verlag.de/jgg/jgg01_05/jgg0404.pdf