2014-10-30 79 views
0

我有一些繪製立方體的代碼。我設法使用glRotatef旋轉立方體,但我需要能夠使用矩陣乘法來旋轉立方體。我知道使用什麼樣的矩陣,但我不知道如何將它們應用到多維數據集的頂點。有沒有辦法將矢量傳遞給glVertex3f?或者一種傳遞頂點數組的方法?使用矩陣乘法在opengl中旋轉立方體

+2

你會想使用着色器(一般和這個問題) – 2014-10-30 13:47:56

+0

你可以進入更多的細節?我真的只是開始使用opengl – CountBale 2014-10-30 13:49:21

+0

glRotatef和glBegin,glEnd已被棄用,如果你想找到一個很好的教程尋找openGL版本3.2+ – 2014-10-30 13:51:59

回答

0

我完全同意德魯的回答。不過,我想我會爲你指明一個很好寫的教程系列,顯示在行動這些概念的方向:

http://en.wikibooks.org/wiki/OpenGL_Programming

開始第3個教程來學習着色器基礎知識,然後第4和第5個教程用三角形和立方體潛入旋轉中。此外,這些示例還使用FreeGLUT,這是一個框架,可讓您輕鬆使用按鍵,鼠標移動,鼠標按下等功能與您的代碼進行交互。

+0

謝謝,這看起來很有幫助 – CountBale 2014-10-31 13:10:20

0

您使用的OpenGL函數是立即模式渲染,頂點轉換是在OpenGL中完成的。如果您想手動轉換OpenGL外部的頂點,則必須執行matrix * vector乘法,或者使用一個爲您執行此操作的庫。作爲一個側面說明,如果你只是對旋轉感興趣,你會發現Rodrigues' rotation formula比一般的矩陣變換更容易實現。