2009-04-19 4 views
10

Wie lese ich in OpenGL die aktuelle x/y-Übersetzung in der Modelview-Matrix? Ich weiß, dass Sie die aktuelle Matrix in ein Array laden und die Floats von dort lesen müssen, aber ich weiß nicht genau, wie es geht.Aktuelle ModelView-Matrix erhalten

Antwort

21

Um die aktuelle Modelview Matrix abzurufen, müssen Sie die glGetFloatv Funktion mit GL_MODELVIEW_MATRIX Parameter aufrufen.

GLfloat matrix[16]; 
glGetFloatv (GL_MODELVIEW_MATRIX, matrix); 

Aus der Dokumentation:

GL_MODELVIEW_MATRIX

params liefert sechzehn Werte: die Model-View-Matrix auf der Oberseite des Stapels Model-View-Matrix. Anfangs ist diese Matrix die Identitätsmatrix.

+0

Beat it me :) –

5

Verwenden glGlet

GLfloat matrixf[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, matrixf); 

GLdouble matrixd[16]; 
glGetDoublev(GL_MODELVIEW_MATRIX, matrixd); 

GLint matrixi[16]; 
glGetIntegerv(GL_MODELVIEW_MATRIX, matrixi); 
+0

'GLET'? oder "bekommen"? – zhangxaochen