Издание на мултимедийната библиотека SDL 2.0.18

Пуснато е издание на библиотеката SDL 2.0.18 (Simple DirectMedia Layer), която цели да опрости създаването на игри и мултимедийни приложения. Библиотеката SDL предоставя инструменти като хардуерно ускорен рендеринг на 2D и 3D графики, обработка на вход, възпроизвеждане на звук, рендериране на 3D чрез OpenGL/OpenGL ES/Vulkan и множество други свързани операции. Библиотеката е написана на C и се разпространява под лиценз zlib. За използването на възможностите на SDL в проекти на различни програмни езици са предоставени биндинги. Кодът на библиотеката се разпространява под лиценз Zlib.

В новото издание:

  • За всяка функция е предоставена информация за версията на SDL, в която е въведена. Осигурена е автоматична синхронизация на документацията в wiki с заглавните файлове.
  • Добавени са нови функции:
    • 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() за проверка на поддръжката на адаптивна вибрация от игровия контролер и джойстика.
    • 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 г. и преди две седмици получи положителен отговор.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster