Релиз мультимедиа-библиотеки SDL 2.0

После нескольких лет разработки вышла новая версия библиотеки SDL (Simple Direct Layer), упрощающей написание игр и мультимедийных приложений. Работа по подготовке нового выпуска была в основном выполнена разработчиком Sam Lantinga, трудоустроенным в компании Valve. Интерес Valve к проекту связан с тем, что SDL 2.0 напрямую используется в платформе Steam.

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

Основные изменения включают:

  • Полное ускорение 3D-вывода;
  • Полная поддержка OpenGL 3.0;
  • Поддерживается OpenGL ES;
  • Поддержка вывода во множество окон и дисплеев;
  • Возможность вывода на несколько аудиоустройств одновременно и поддержка вывода звука в формате 7.1;
  • Добавлена поддержка платформ Android и iOS;
  • Добавлен простой API для 2D графики, который может использовать аппаратное ускорение Direct3D, OpenGL, OpenGL ES, а также выводиться в программном режиме;
  • Добавлена поддержка обратной связи (force feedback) для джойстиков, при работе на платформах Windows, OS X и Linux;
  • В Windows стали поддерживаться XInput и Xaudio2;
  • Появилось API для получения данных энергопитания (например, сколько времени осталось работать от аккумулятора);
  • Непрямоугольные окна;
  • 32-разрядный звук (типы: целый и с плавающей точкой);
  • Упрощённый API для игровых контроллеров, включая джойсткики;
  • Поддержка ввода с сенсорных экранов и API для поддержки Multi-touch; ;
  • Улучшена поддержка клавиатурного ввода. Поддержка одновременного использования нескольких устройств ввода (несколько мышей, клавиатур и т.п.). Полная поддержка Unicode-символов для ввода и IME;
  • Улучшена поддержка полноэкранного режима. Добавлена концепция viewport для определения области вывода для полноэкранных окон;
  • Поддержка горизонтальной прокрутки мышью;
  • API для включения и отключения хранителя экрана;
  • Поддержка многомониторных конфигураций с выводом на несколько экранов;
  • Базовый drag’n’drop;
  • API доступа к буферу обмена;
  • Исправлено множество ошибок.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.