title: Fast and efficient way to store orientation in 3D space?
body: <p>I originally stored an objects origin and orientation in 3D space using 3 vectors representing the objects origin, forward and up directions.</p>
  
  <p>To apply to correct transformation to the modelview matrix stack I compose the affine transformation matrix using these three vectors.</p>
  
  <p>Translation is trivial, however for rotation is applied by constructing the correct rotation matrix (depending on the angle and axis of rotation) and applying it to these 3 vectors.</p>
  
  <p>I'm using this method for a very large number of objects and the rotation/ affine matrix composing is causing a performance bottleneck.</p>
  
  <p>I'm wondering if there is a more sensible/efficient way to store the orientation? </p>