Hi all, my OpenGL is a bit rusty, so i hope that you’ll bare with me!

I would like to use the glLoadMatrix facility to bypass the usual glTranslatef, glRotatef code. Using another api, I associate all objects with a unique matrix. This matrix stores position and orientation in 3d space. When I want to change the position or orientation of the object, I build a translation matrix (say) and then multiply this onto the objects current matrix. Therefore to draw the object (in OpenGL) it would look something like this…

LoadObjectMatrix();

DrawObject();

The trouble is when I set *any* of the sixteen values of my matrix to a value the same thing happens…the object is moves closer to the camera and rotated by maybe 20-30 degrees. This doesn’t make sense to me especially since that when I set the matrix to the identity matrix (using my own code) and then load this, the object is rendered at the origin as it should be!

Thanks in advance and sorry for the length of the post.

Kevin