2012-02-18 2 views
0

Интересно, может ли кто-нибудь помочь мне узнать, как правильно использовать glMultMatrix.Как правильно использовать glMultMatrix - iPhone - OpenGL ES

У меня есть следующие визуализации коды в моем приложении, однако оказывается, что я не могу просто кормить C-структурой с матрицей до glMultMatrix:

-(void)render 
{ 

matrixStruct matrices[] = {1, 0, -0, -9.37988, 0, -0.651537, 0.758617, 1133.64, 0, 0.758617, 0.651537, 129730, 0, 0, 0, 1}; 


// clear the matrix 
glPushMatrix(); 
glLoadIdentity(); 

//scale 
glScalef(0.00001, 0.00001, 0.00001); 

    glMultMatrixf(matrices); 

[mesh render]; 

//restore the matrix 
glPopMatrix(); 
} 

я понял из документации на http://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml, что мне необходимо предоставить:

void glMultMatrixd(const GLdouble * m); 
void glMultMatrixf(const GLfloat *  m); 

m 
Points to 16 consecutive values that are used as the elements of a 4 × 4 column-major  matrix. 

Я не уверен, как мне отформатировать матрицу и передать ее glMultMatrix. Также мне нужно включить glMatrixMode перед вызовом рендера?

Спасибо

+0

Вы понимаете, как работают матрицы в OpenGL? Нажатие и выскакивание из различных стеков матриц и для чего нужно использовать каждый стек? Вы понимаете, что делают glRotatef, glTranslatef и glScalef и как они это делают? Я спрашиваю, потому что я не понимаю, где у вас проблемы. Кроме того, для чего нужна матричная матрица? – null0pointer

+0

Трудность - это просто синтаксис вокруг использования glMultMatrix - что мне следует переходить на него? Матрица «матрицы» была моей первой попыткой, но я думаю, что это неправильно. – GuybrushThreepwood

+0

I'v отредактировал код, чтобы улучшить вопрос - я знаю, что не буду использовать glMultMatrix и другие gl-матричные вызовы. – GuybrushThreepwood

ответ

0

Работали это - мне нужно, чтобы передать массив поплавки:

например

поплавок матрицы [] = {1,0,0,0,0,1, 0,0,0,0,1,0, -578.556,7068.92,48.6953,1};

Все работает сейчас - спасибо.

Смежные вопросы