Выпуск мультимедийной библиотеки SDL 2.0.6 с поддержкой API Vulkan

Состоялся релиз библиотеки SDL 2.0.6 (Simple Direct Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека предоставляет такие средства, как аппаратно ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией LGPLv2. Для использования возможностей SDL в проектах на различных языках программирования предоставляются биндинги.

Новый выпуск выделяется появлением кросс-платформенной поддержки графического API Vulkan, включением экспериментального драйвера для звуковой подсистемы JACK, реализацией видеодрайвера для работы через KMS/DRM в Linux и добавлением поддержки многих игровых контроллеров, включая Nintendo Switch Pro Controller, а также появлением API для получения сведений о подключенных джойстиках и игровых контроллерах.

Среди других заметных улучшений:

  • Функция SDL_ComposeCustomBlendMode () для создания произвольных режимов смешивания при 2D-отрисовке;
  • Функция SDL_HasNEON (), выводящая сведения о поддержке текущим процессором инструкций NEON;
  • Возможность инвертирования осей и обработки только отдельных направлений осей в обработчике игрового контроллера;
  • Функции SDL_LoadFile () и SDL_LoadFile_RW () для загрузки файлов в память;
  • Функция SDL_DuplicateSurface () для создания копии поверхности;
  • Возможность передискретизации звука (resampling) с частотами не кратными степени двойки, используя libsamplerate;
  • Настройка SDL_HINT_AUDIO_RESAMPLING_MODE для управления качеством передискретизации звука;
  • Настройка SDL_HINT_RENDER_LOGICAL_SIZE_MODE для управления методом масштабирования, используемым в функции SDL_RenderSetLogicalSize (): 0 или letterbox — добавление пустот по краям для размещения всего результата отрисвовки на экране; 1 или overscan — увеличение вывода для заполнения всего экрана с возможным вытеснением краёв изображения за пределы видимой области;
  • Настройки SDL_HINT_MOUSE_NORMAL_SPEED_SCALE и SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE для управления параметрами скорости перемещения мыши;
  • Настройка SDL_HINT_TOUCH_MOUSE_EVENTS для включения/выключения генерации событий мыши на основе событий от сенсорных устройств;
  • На платформе Windows задействован по умолчанию новый звуковой драйвер WASAPI. Старый драйвер XAudio2 объявлен устаревшим и будет удалён в одном из следующих выпусков.

© OpenNet