If you thought SFML took a long time to reach 2.0 you’ve not seen nothing yet! Today SDL 2 was finally released, after being in development for about a decade. If you have never heard of it before, SDL is a cross platform game development library that gives access to graphics via OpenGL or DirectX, as well as low level access to audio, keyboard, mouse and joystick. It is written in C, works in C++ and has bindings for about every language ever invented.
Here is the list of major new features:
- 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
- Many other things!
Android and iOS support is pretty huge, as of course is full 3D hardware acceleration. You can read the full announcement here.
One other major change with the move to 2.0 is the switch from the GNU GPL license to the much more friendly zlib license. This means you can now statically link to SDL.
You can download SDL here.