После нескольких лет разработки наконец-то состоялся релиз библиотеки SDL 2.0.0. Слухи о разработке второй версии SDL шли уже давно, но обширный список нововведений отчасти объясняет столь долгую разработку.
Библиотека SDL предоставляет такие средства, как быстрый вывод 2D-графики, обработку ввода, проигрывание звука, вывод 3D через OpenGL и другие операции, причем делает это кросплатформенно. Список платформ обширный: Linux, Windows, Windows CE, BeOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX и QNX — и вдобавок есть неофициальные порты на другие системы.
Сама библиотека написана на C и поддерживает C++, однако есть биндинги к большинству популярных языков. Автор libsdl был нанят компанией Valve, программные продукты которой активно используют библиотеку. К тому же, теперь библиотека выходит под лицензией zlib, а не LGPLv2, как было раньше, и SDL 2.0 можно использовать в любых своих приложениях — хотя вполне возможно, что сделано это было для того, чтобы Valve смогла включить ее в Steam для Linux.
Нововведения:
- Полная поддержка средств 3D-акселерации;
- Поддержка OpenGL 3.0+;
- Поддержка OpenGL ES;
- Поддержка многооконного режима и нескольких дисплеев;
- Поддержка нескольких звуковых устройств (плюс поддержка вывода звука в формате 7.1);
- Android и iOS;
- API для поддержки Multi-touch;
- Простое API для 2D рендеринга с использованием Direct3D, OpenGL, OpenGL ES;
- Поддержка API отдачи (force feedback) для джойстиков;
- Поддержка XInput и XAudio2 в Windows
- Улучшенная многопоточность;
- Убрано все, что раздражало в версии 1.2;
- Многое другое.
Версией 2.0 еще с релиз-кандидата, вышедшего в июне, уже пользуются некоторые инди-разработчики и проекты OpenSource. Valve использует SDL 2.0 для поддержки игровых контроллеров и для ряда других применений.
Загрузить: SDL 2.0.0
Руководство по миграции на версию 2.0: Migration Guide
Подробная документация (wiki): wiki.libsdl.org/
Let's Make An RPG (C++/SDL2) — Tutorials
Другие обновления: SDL_image / SDL_mixer / SDL_net / SDL_ttf
Автор: HotWaterMusic