   which 3D API to use?
  this is for future reference, i'm still messing around with 2D stuff with SDL.but when it comes time to take a stab at 3D i'm wondering what i should try. i need something cross platform because i use windows and linux...i'm thinking OpenGL? but i'm wondering if Crystal Space might be something to look into?any suggestions?   
  I'd say OpenGL, its pretty simple to do 3D with it. Not very steep learning curve. check out Nehe if you want to learn.   ;  Consider the Ogre or Irrlicht rendering engines if you prefer productivity over learning the low-level details.   ;  If you want to work on Linux & Windows, then you must use OpenGl because directx isn't supported by Linux. And before you start messing with any engine learn the basic stuff.   ;  There are tons of engines out there.  CrystalSpace, OGRE and Irrlicht are just a few.  All engines have their pros and cons.afaik, under the covers they all use either OpenGL (if they want to target multiple OS) or DirectX (if they don't) or both.  A central concept for both of the 3D API's is the "rendering pipeline".  Its much easier to understand/appreciate the engine features if you've spent at least a little time with the API's first.  For OpenGL, besides the NeHe tutorials you may also want to get a copy of the red book (I forget the title, but its linked from NeHe's site).If you're already doing 2D you may want to look at ClanLib (clanlib.org).  It's a 2D API but it targets both SDL and OpenGL for the backend.  Useful if you get into the code and look at how you'd do something with OpenGL vs. how you'd do it with SDL.Eventually you will also want to learn shaders to get the really sexy pixel effects.   