Izdaja medijske knjižnice SDL 2.0.18

Izdana je bila knjižnica SDL 2.0.18 (Simple DirectMedia Layer), namenjena poenostavitvi pisanja iger in multimedijskih aplikacij. Knjižnica SDL ponuja orodja, kot so strojno pospešeni 2D in 3D grafični izhod, obdelava vnosa, predvajanje zvoka, 3D izhod prek OpenGL/OpenGL ES/Vulkan in številne druge povezane operacije. Knjižnica je napisana v C in se distribuira pod licenco zlib. Na voljo so vezave za uporabo zmogljivosti SDL v projektih v različnih programskih jezikih. Koda knjižnice se distribuira pod licenco Zlib.

V novi izdaji:

  • Для каждой функции предоставлена информация о версии SDL, в которой данная функция появилась. Обеспечена автоматическая синхронизация документации в wiki с заголовочными файлами.
  • Dodane nove funkcije:
    • SDL_RenderGeometry() и SDL_RenderGeometryRaw() для отрисовки произвольных фигур при помощи 2D Render API.
    • SDL_SetTextureUserData() и SDL_GetTextureUserData() для привязки данных приложения к текстуре.
    • SDL_RenderWindowToLogical() и SDL_RenderLogicalToWindow() для преобразования между координатами окна и логическими координатами отрисовки.
    • SDL_RenderSetVSync() для включения синхронизации вывода с кадровым гасящим импульсом (vblank).
    • SDL_PremultiplyAlpha() для применения прозрачности к блокам пикселей в формате SDL_PIXELFORMAT_ARGB8888.
    • SDL_SetWindowMouseRect() и SDL_GetWindowMouseRect() для ограничения движения курсора мыши заданной областью окна.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() и SDL_JoystickHasRumbleTriggers() для проверки поддержки игровым контроллером и джойстиком эффекта адаптивной вибрации (rumble)
    • SDL_GetWindowICCProfile() для получения цветового ICC-профиля окна (для проверки изменения профиля предложено событие SDL_WINDOWEVENT_ICCPROF_CHANGED).
  • Добавлены новые признаки: SDL_HINT_APP_NAME для передачи сведений о названии приложения и SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY для включения прозрачности для окон EGL.
  • Добавлено новое событие окна SDL_WINDOWEVENT_DISPLAY_CHANGED, которое генерируется при изменении экрана, на котором показывается окно.
  • Предоставлена возможность определения точных параметров движения колеса мыши при помощи полей «preciseX» и «preciseY» в параметрах события.
  • Функция SDL_WaitEvent() переработана для снижения нагрузки на CPU.
  • API hidapi переведён в категорию публичных и теперь доступен через заголовочный файл SDL_hidapi.h.
  • На платформе Windows улучшено определение относительного движения мыши в Windows Remote Desktop. Добавлен признак SDL_HINT_IME_SHOW_UI для показа родных компонентов интерфейса (по умолчанию скрываются). Для UWP-приложений вместо XInput задействован WGI для улучшения поддержки контроллеров ввода.
  • Для платформы Linux реализованы признаки: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME для привязки действий, отображаемых при отключении хранителя экрана; SDL_HINT_LINUX_JOYSTICK_CLASSIC для выбора какое из устройств (/dev/input/js* или /dev/input/event*) использовать для джойстика; SDL_HINT_JOYSTICK_DEVICE для установки устройства, открываемого для джойстика. Добавлена функция SDL_LinuxSetThreadPriorityAndPolicy() для управления расстановки приоритетов для потоков.
  • Для платформы Android реализована поддержка вывода и захвата звука при помощи API AAudio. По умолчанию отключена поддержка контроллера Steam Controller (для включения предложен признак SDL_HINT_JOYSTICK_HIDAPI_STEAM).

Дополнение: Один из авторов SDL Райан Гордон (icculus) сообщил, что планирует добавить в SDL простой 3D API, поддерживающий возможности API современных GPU (Vulkan, Direct3D 12, Metal). Финансировать эту разработку будет компания Epic Games, в рамках программы Epic Megagrant. Заявку на грант Гордон подал в мае 2021, а две недели назад получил положительный ответ.

Vir: opennet.ru

Dodaj komentar