Do you want the accumulated changes?

What might be helpful besides glLoadMatrix is the matrix stack functionality. With glPushMatrix and glPopMatrix, you can save off a matrix and then come back to it.

ex.

glMatrixMode(GL_MODELVIEW)

glLoadIdentity()

glPushMatrix() // here are now two matrices on the stack, Opengl uses the more recent one

gluLookAt(10,10,10,0,0,0,0,1,0) // still two matrices on the stack, but the top one is now changed

glPushMatrix() // here are now three matrices on the stack

glTranslate3f(6,6,6)

as of right now all vertices multiplied by the modelview matrix will be affected by the gluLookAt and the translate

glPopMatrix() // removes the top matrix, the translate is no more, but you still have the gluLookAt

glPopMatrix() // back to the original identity

You can call glLoadMatrix and any other functions any time during all this, but OpenGL will operate on the most recent matrix you pushed onto the stack. Make sure for every push matrix, there’s a pop somewhere.