Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to update opengl modelview matrix with my own 4x4 matrix?

I have 4x4 matrix for object's transformations.

float mat44[16];

But i don't know how to update OpenGL ModelView matrix using my matrix. should i use glTranslatef()/glRotatef() with relavant values from my matrix or should i use glLoadMatrix(),glMultMatrix() ? Pls help. Thanks.

like image 655
shan Avatar asked Feb 01 '12 06:02

shan


2 Answers

If you want to apply your transformation to current transformation already in OpenGL matrix stack, then you should write:

glMultMatrixf(mat44);

But if you want to discard what's currently on top of OpenGL matrix stack and use your own transformation, then you should write:

glLoadMatrixf(mat44);
like image 138
Mārtiņš Možeiko Avatar answered Sep 17 '22 16:09

Mārtiņš Možeiko


For OpenGL-2.1 and earlier use glLoadMatrix or glMultMatrix, depending on the task at hand.

For OpenGL-3 and later set them as the right uniform for your shader using one of the glUniformMatrix variants.

like image 33
datenwolf Avatar answered Sep 18 '22 16:09

datenwolf