Как правильно использовать glMultMatrix - iPhone - OpenGL ES - PullRequest
0 голосов
/ 18 февраля 2012

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

У меня есть следующий код рендеринга в моем приложении, однако, похоже, я не могу просто передать структуру 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 перед вызовом рендера?

Спасибо

1 Ответ

0 голосов
/ 18 февраля 2012

Сработало - мне нужно было передать массив с плавающей точкой:

например

матрицы с плавающей точкой [] = {1,0,0,0,0,1,0,0, 0,0,1,0, -578,556,7068,92,48,6953,1};

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...