Exploring SDL (updated)
In my last post I outlined my brief foray into SFML 2.0. I followed this up with another look at SDL – Simple DirectMedia Layer, which I haven’t looked at for a few years.
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
Basically, it does windowing, I/O, some audio support and some 2D media support. It also has been extended by a large number of 3rd party libraries which add to SDL in a range of ways – including libraries for richer media support (e.g. SDL_mixer) or enhanced 2D file support (SDL_image). The core SDL libraries can be used to help create cross-platform OpenGL apps, as a more flexible GLUT/freeglut replacement with some additional features. The additional libraries add a little to a whole lot more.
While the updated SDL, version 1.3, is still under development, it is available for download and use and appears to be fairly stable and reliable. You can get it from GalaxyGameworks, and there is documentation available at http://www.libsdl.org/tmp/SDL-1.3-docs/ – though the use of ‘tmp’ in the file path here leads me to believe that this is likely to move to another location at some point.
There are also a range of SDL/OpenGL tutorials out there. While most use SDL 1.2, the basic windowing features are still the same – I haven’t come across any problems using 1.2 examples so far in my limited explorations. There is a small set of OpenGL 3.2 tutorials on the OpenGL wiki that use SDL: http://www.opengl.org/wiki/Tutorials . Additional tutorials can be found on the aptly named http://www.sdltutorials.com/
I have put together a horribly detailed guide to installing and setting up SDL 1.3 for Visual Studio 2010, which includes a very basic SDL demo app. I’ve posted this on Scribd, as shown below, and also available from Google Docs, here.


Hola, this is Tim from SDLTutorials.com, I am wondering if you’d be interested in letting me republish your Scribd tutorial? I did notice the Creative Commons, but I don’t want to just throw it up without asking.
Hi Tim,
Sorry, didn’t spot your comment! Got buried in email. I’ve just updated the tutorial again – with some slight amendments. Yes, please do republish – I’m all for reuse. Please keep the license and author credits on it, but feel free to republish and amend as you see fit.
Hope you liked it, and if you see anything that should be fixed please let me know