2008-11-12 76 views
7

有沒有辦法讓OpenGL變換爲一個通用向量,我給它與當前的模型視圖矩陣並得到結果嗎?OpenGL:模型視圖矩陣的多個用戶向量?

顯而易見的方法是查詢模型視圖矩陣並自己進行乘法運算,但我幾乎可以肯定應該有辦法讓OpenGL爲我做這件事。

回答

5

你是對的,你必須得到模型視圖矩陣並自己轉換矢量。

如需確認,請參見this link的第9.120段。

4

最好在OpenGL之外進行計算。 The Matrix and Quaternions FAQ是學習如何執行計算的好資源,如果您還不知道。您可以按如下方式獲取4x4模型視圖矩陣:

float modelview[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, modelview); 
0

可能最好在CPU端進行轉換。我能想到的唯一方法是使用​​加頂點着色器,只做模型視圖轉換。

-1

opengl可能不會爲你做這件事的原因是因爲計算不是渲染管道的一部分。和opengl(大部分)只在顯示循環中執行計算。所以提供這些類型的同步接口是沒有意義的。