Quote Originally Posted by Crisp_N_Dry
I've just taken up learning SDL, which I'm pleased to say is going extremely well due to how well designed it is. What I want to know is how it works. I'm confused as to what libraries it uses. The name suggest DirectX but the help files mention OpenGl. And since it is multi platform I guess DirectX is out of the question. Or does it use various different libraries depending on platfrom (This would make the most sense). I'm also interested to know, can it out perform DirectDraw on 2D operations? I'm talking pure 2D, not 2D emulation using 3D acceleration. If it can even do this, I don't even know if it is doing pure 2D at all. From first glance I'd say it is but perhaps one of you guys can shed some light.
SDL is a media layer as DirectX is. It covers 2d, 3d, sound, network, etc, etc and it is cross platform.
afaik, for 2D it uses whatever tecnology is present on the system: directdraw, software, 2d opengl, etc. If i'm correct, future version could start using opengl for 2d in all environments. For 3D, instead of reinventing the wheel, they plugged-in OpenGL, so the 3D part of SDL relies completely on Opengl. Also, instead of making another "layer" to hide the implementation, they did no layer at all. You can just use OpenGL directly. This is an important point. SDL take care of preparing you the window, handling input events etc, then you can call opengl api seamlessy for rendering.
I've always found this a cool feature.

Please correct me if i'm wrong.

bye