9

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.

shan
  • 1,164
  • 4
  • 14
  • 30

2 Answers2

20

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);
Mārtiņš Možeiko
  • 12,733
  • 2
  • 45
  • 45
2

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.

datenwolf
  • 159,371
  • 13
  • 185
  • 298