For my graphics class, our professor wants us to keep track of our current matrix on our own and apply rotations/translations/scaling matrices to it then load it using glMatrixMode(GL_MODELVIEW) and glLoadMatrix(current_matrix). All of this seems fine, but when I actually use it, I keep having an issue:
if I apply a rotation to something, it'll rotate properly, but if I try to rotate the world view around the y-axis, each object will only rotate around their y-axis.
If this was the original image: http://www.glowfoto.com/static_image/17-104501L/1324/jpg/10/2010/img5/glowfoto
This is what I get: Link in comment
This is what I want to get: Link in comment
What I do is, make a copy of my current_matrix. Apply a rotation to the current_matrix (multiply it). Then call glMatrixMode(GL_MODELVIEW) and glLoadMatrix(transformed_matrix). Draw something. Then copy the old matrix back into the current_matrix. Then call glMatrixMode(GL_MODELVIEW) and glLoadMatrix(current_matrix). Any help would be wonderful!
P.S. the point of the assignment is to not use glRotate glScale and other commands.