   quick question...
  when dealing with d3d and matrices you can use the d3dmatrixstackwhich I guess works like an stl vector. However, when dealing with OpenGL and matrices, you call push/popmatrix and then you simply call loadmatrix to apply the new matrice. How exactly does an OpenGL matrix stack differ from a d3d matrix stack, other then the obvious? 
  it probably doesnt differ at all, and NO graphics API would ever require you to use STL 