Remember that moving the camera in a direction is the same as moving everything in the world the opposite direction. You do the matrix transformation for the camera just like you would for your objects, except in reverse. Here is a little class I just made up to help solve the problem. It stores the orientation as a forward, up, and right vector. LookAt() just modifies the vectors. DoTransformation modifies the modelview matrix.
yeah I know what you mean, but its hard to describe goofy rotations. I got a solution going on another thread that works. I think this approach will/should work and I might need it for some tracking stuff I’m doing, so I’ll keep you posted if I get it working. On thing that won’t work at least when I tried it is the combination of the translation into the matrix at the same time. I found that this translation for the camera has to come after the rotation for some reason. Other 3d world objects its fine to combine the translation and the rotation in the same matrix and I do that in practice.