Greetings! I recently started learning OpenGL and I have run into
quite a problem. I really have no idea how to implement a simple
camera using OpenGL's transformation functions. What particularly
bothers me is the order in which transformations must be applied.
Suppose the camera is located at (x, y, z) and its rotation is -45
degrees (from the default orientation, that is, looking towards (0, 0,
-1)).
If I translate first, by calling glTranslate(-x, -y, -z), the rotation
will have that point as its origin. I don't need that.
If I rotate first, I will have to somehow calculate the translation
vector (because forward, for example, won't be (0, 0, -1) anymore).
Any help is appreciated.


|