2010-09-21 261 views
0

XNA有BasicEffect在下列Matrix對象OpenGL和XNA矩陣差異

public Matrix World 
public Matrix View 
public Matrix Projection 

的OpenGL使用下面的定義glMatrixMode()

GL_MODELVIEW 
GL_PROJECTION 

我真的不知道爲什麼人們會有更多說實話,比別人好。我正在移植一個GL遊戲,如果我能夠解釋相似性和差異性,這將是很好的。

不世= GL_MODELVIEW,或看待= GL_MODELVIEW?

我會做什麼來渲染同樣的場景,只需加載單位矩陣到一個我不使用?

非常感謝!

回答

1

GL_MODELVIEW的名稱反映了它代表場景的視圖和應用於世界的轉換這一事實,因爲這些轉換是相反的(翻譯相機5個單位左等於翻譯世界5個單位右)。我不確定XNA的矩陣代表什麼,但我認爲XNA只是將這些轉換表示爲兩個不同的矩陣。爲了移植你的遊戲,你可以讓你的相機將其轉換應用到視圖矩陣,其他的東西將轉換應用到模型矩陣。 (如果我錯了,請大家指正。)

http://www.toymaker.info/Games/XNA/html/xna_matrix.html介紹一下XNA矩陣表示。

+0

能做到。我想這將是巨大的,如果有包裹GL的周圍XNA的方法,並創建額外的矩陣出來,我實例化兩個,如果這甚至有可能的方式......我的直覺sorta說它可以,但我的大腦說「............」 – Kyle 2010-09-21 23:05:53

+0

如果你想合併視圖和世界矩陣,將視圖乘以模型矩陣(以該順序)應該工作(自那時起,相機變換將首先被應用)。不過,XNA可能不會那樣。 – 2010-09-21 23:15:48

+0

嗯,我想我需要的是讓我的代碼保持原樣使用兩個矩陣堆棧,並按照與GL相同的方式進行排序,方法是創建單獨的世界矩陣。我會嘗試一些事情並報告回來。 – Kyle 2010-09-21 23:20:33