Usually using the inverse camera model, you do something like this with the modelview matrix:

glRotate(xrot, 1.0f, 0.0f, 0.0f);

glRotate(yrot, 0.0f, 1.0f, 0.0f);

glTranslate(-eye[0], -eye[1], -eye[2]);

Now I’ve combined these three into one matrix calculation filling it up manually and then loading it with glLoadMatrixf();

Now I would expect the latter to be more efficient since instead of three matrix multiplications I calculate individual matrix elements using all rotation and transformation params. Is that really the case? Or is letting OpenGL do that more efficient?

In general, is it better to use your own

matrix calculations? I’d prefer that since that usually shortens the calculations…

Thanks,