   3rd Person Camera
  I am trying to make my camera follow the mesh object in front of it. I am unsure of how to get the camera to correctly rotate or shift its line of sight vector when the mesh turns a direction.Can someone help or show me some sort of example in which this particular thing has been done?I have been looking around for this particular thing I have seen how to put the object in front of the camera. But as far as rotating goes I find nothing. Plus, I have never had trigonometry therefore it is a bit complex.   
  I suggest you not to control the camera and putting the mesh in front of it, but controlling the mesh and putting the camera behind it.You don't need any special trigonometrics if you follow this principles:The particular transformation order for the mesh is first to rotate it into the correct orientation, and then to translate it to the correct location. If you apply the same rotation to the camera then it looks in the same direction (assuming that the mesh in its natural orientation is seen from behind by the camera in its natural orientation; else you have to do some additional heading of the camera).Then you can translate the camera to the same location to where you have translated the mesh, and finally translate it back by a distance along the _negative_ "look at" vector. Notice that the "look at" must be given in the same co-ordinate frame as the translation should occur, that is normally the global/world frame. (Of course you could sum the both translations together before applying it.)Some advanced details may be implemented to this system, e.g. attaching the camera to a particularly controllable head (instead of the whole body of the mesh). You may also take into account to move the camera a little bit above the head of the mesh, so you actually look over the head's top.   ;  This is essentially the same thing haegarr suggests but I don't think you'll need to offset the camera after transformation.Think of your model in its original model space coordinates and put your camera and its target, to the desired position in that frame of reference.Then just multiply the camera 'position' and 'look at' vectors by the world transformation matrix of that model. That's it!If you want to give a more dynamic feel to your scene by making the camera move a little with respect to your model, you should apply transformations to the camera vectors in model space before transformation, not in world space. E.g. if you're implementing a "chase" type camera for your racing sim, you may want to pan the camera a little to the direction of cornering, to allow the player to have a better view of the road. This 'camera pan' should be done in model space coordinates before transformation. The model's world matrix will replicate that motion at the proper model position/orientation   