2012-02-01 15 views
8

私はオブジェクトの変換のための4x4行列を持っています。独自の4x4マトリックスでOpenGL modelviewマトリックスを更新するには?

float mat44[16]; 

私の行列を使ってOpenGL ModelView行列を更新する方法はわかりません。 glTranslatef()/ glRotatef()を使用する必要がありますか?glLoadMatrix()、glMultMatrix()を使用する必要がありますか? Plsヘルプ。ありがとう。

+0

どのOpenGLバージョンを使用しますか? –

答えて

20

あなたはOpenGLの行列スタックにすでに現在の変換にあなたの変換を適用する場合は、あなたが書く必要があります。

glMultMatrixf(mat44); 

しかし、あなたは、OpenGLの行列スタックの一番上に現在何破棄し、独自のものを使用したい場合OpenGLの-2.1について

glLoadMatrixf(mat44); 
2

を以前の手元の作業に応じて、glLoadMatrixまたはglMultMatrixを使用します。変換は、あなたが書く必要があります。

OpenGL-3以降では、glUniformMatrixバリアントのいずれかを使用して、シェーダーの正しいユニフォームとして設定します。

関連する問題