Библиотека SDL 2.0 достигла стадии кандидата в релизы

Библиотека SDL (Simple DirectMedia Layer) достигла состояния кандидата в релизы для версии 2.0. Как известно, разговоры о создании версии 2.0 велись уже давно, однако до недавних пор они не материализовывались в какие-либо конкретные воплощения в коде. Тем не менее, в конечном итоге версия 2.0 все-таки была реализована и достигла состояния кандидата в релизы. Библиотека SDL предоставляет такие средства, как быстрый вывод 2D-графики, обработку ввода, проигрывание звука, вывод 3D через OpenGL и множество иных сопутствующих операций в кроссплатформенном виде, независимо от используемой системы. Это упрощает создание приложений и игр, которым необходимо быстро выводить двухмерную графику, проигрывать звук, использовать продвинутую обработку ввода пользователя и т.п. Библиотека выпускается под лицензией LGPLv2 и поддерживает как минимум Linux, Windows, Windows CE, BeOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX и QNX. Также существует ряд неподдерживаемых официально портов на иные системы (например, существуют порты для Android и Wayland).

Библиотека написана на C и «нативно» поддерживает C++, однако существует также и множество биндингов, предоставляющих средства для её использования для множества других языков программирования. Примечательно, что автор libsdl был нанят компанией Valve, ряд продуктов которой в данный момент построены с использованием данной библиотеки для упрощения обеспечения кроссплатформенности.

Наиболее интересные новшества SDL 2.0:

API для текстурированного рендеринга с использованием средств 3D-акселерации; Поддержка API отдачи (force feedback) для джойстиков; Поддержка захвата звука; Улучшенная многопоточность; Ряд новых возможностей, касающихся вывода звука, например, поддержка вывода звука в формате 7.1 и возможность одновременного использования нескольких звуковых устройств; Поддержка аппаратного ускорения для вывода 2D графики; Поддержка многооконного режима; Ряд улучшений, касающихся полноэкранного режима работы. Добавлена концепций viewport для определения области вывода для полноэкранных окон; API доступа к буферу обмена; Поддержка одновременного использования нескольких устройств ввода (несколько мышей, клавиатур и т.п.); API для поддержки Multi-touch; Поддержка горизонтальной прокрутки мышью; Поддержка целей рендеринга (render targets); API для включения и отключения хранителя экрана; Поддержка многомониторных конфигураций с выводом на несколько экранов. Дополнительно отмечается, что хотя стабильная версия библиотеки еще не выпущена, ряд продуктов Valve уже пользуется данной веткой библиотеки, а ABI версии 2.0 считается стабилизированным. Кроме того, версией 2.0 уже пользуются некоторые indie и OpenSource проекты. Загрузить кандидат в релиз можно на данной странице.

© OpenNet