You can ask OpenGL with (in C) glGetFloatv(GL_MODELVIEW_MATRIX, lMatrix) lMatrix being a array of 16 floats. The transformed position is components 12, 13 & 14 of the array. That’s ok if you do that once in a while but in a tight rendering loop, its usually faster to keep track of that yourself by doing your own transformations.

aNt, I would suggest that you wrap all these transformations to a class (that is if you are using C++ or other oop) that have for example Move and Rotate as member functions. The class can neatly keep track of ‘everything’ in (private) members. Ofcourse when you have wrapped transformations you start thinking that ‘hmm, maybe i should do the same thing with textures’ and so on and so on.
Happened to me and now I have a nice ogl library