Simple DirectMedia Layer, also known as SDL, was specially built as a handy multimedia library.
SDL manages to provide a low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
SDL is written in C, but also works with C++. Furthermore, Simple DirectMedia Layer has bindings for several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk.
You can now use this open source library to easily write games and emulators.
What's New in This Release:
· Full 3D hardware acceleration
· Support for OpenGL 3.0+ in various profiles (core, compatibility, debug, robust, etc)
· Support for OpenGL ES
· Support for multiple windows
· Support for multiple displays
· Support for multiple audio devices
· Android and iOS support
· Simple 2D rendering API that can use Direct3D, OpenGL, OpenGL ES, or software rendering behind the scenes
· Force Feedback available on Windows, Mac OS X and Linux
· XInput and XAudio2 support for Windows
· Atomic operations
· Power management (exposes battery life remaining, etc)
· Shaped windows
· 32-bit audio (int and float)
· Simplified Game Controller API (the Joystick API is still here, too!)
· Touch support (multitouch, gestures, etc)
· Better fullscreen support
· Better keyboard support (scancodes vs keycodes, etc).
· Message boxes
· Clipboard support
· Basic Drag'n'Drop support
· Proper unicode input and IME support
· A really powerful assert macro
· Lots of old annoyances from 1.2 are gone