Выпуск мультимедийной библиотеки SDL 2.0.6 с поддержкой API Vulkan
Состоялся релиз библиотеки SDL 2.0.2 (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 объявлен устаревшим и будет удален в одном из следующих выпусков.