2009-04-19 10 views
10

W języku OpenGL, w jaki sposób mogę odczytać bieżące tłumaczenie x/y w macierzy widoku modelu? Wiem, że musisz załadować bieżącą macierz do tablicy i odczytać stamtąd, ale nie wiem dokładnie, jak to zrobić.Uzyskiwanie aktualnej matrycy ModelView

Odpowiedz

21

Aby pobrać aktualną macierz widoku modelu, należy wywołać funkcję glGetFloatv z parametrem GL_MODELVIEW_MATRIX.

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

Z dokumentacji:

GL_MODELVIEW_MATRIX

params zwraca wartości szesnaście: matryca ModelView na szczycie stosu macierzy ModelView. Początkowo ta macierz jest macierzą tożsamości.

+0

mnie uprzedził :) –

5

Zastosowanie 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'? lub "dostać"? – zhangxaochen