Преди няколко дни бе обявено пускането на новата версия на библиотеката SDL 2.0.16 (Simple DirectMedia Layer), проектиран да опрости писането на игри и мултимедийни приложения. В тази нова версия бяха добавени различни промени, сред които се открояват подобренията в поддръжката на Wayland, както и възможността за генериране и улавяне на аудио с помощта на мултимедийния сървър Pipewire и други неща.
За тези, които не знаят за библиотеката SDL, трябва да знаете, че това, предоставя инструменти като хардуерно ускорен 2D и 3D графичен изход, обработка на входа, възпроизвеждане на аудио, 3D изход чрез OpenGL / OpenGL ES и много други свързани операции.
SDL официално е съвместим с Windows, Mac OS X, Linux, iOS и Android, въпреки че има поддръжка за други платформи като QNX, в допълнение към други архитектури и системи като Sega Dreamcast, GP32, GP2X и т.н.
Прост слой DirectMedia е написан на C, работи изначално с C ++ и има налични връзки за няколко други езика, включително C # и Python, той се разпространява под лиценза zlib, този лиценз позволява свободно използване на SDL във всеки софтуер.
Въпреки че е програмиран на C, той има обвивки за други езици за програмиране като C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python и др.
Основни нови функции на SDL 2.0.16
В тази нова версия на SDL една от новостите, която се откроява, е, че подкрепата за Wayland е подобрена изключително много, освен това добавена възможност за генериране и улавяне на аудио с помощта на Pipewire Media Server и AAudio (Android), а също и поддръжка за игрови контролери Amazon Luna и Xbox Series X.
Друга промяна, която можем да открием, е, чеe добавена поддръжка за адаптивния вибрационен ефект (да мрънка) в Контролери на Google Stadia и Nintendo Switch Pro когато използвате драйвера HIDAPI.
В допълнение към него Натоварването на процесора е намалено при обработка на обаждания SDL_WaitEvent () и SDL_WaitEventTimeout () и е добавена дефиниция на SIMD разширения, съвместими с платформата Elbrus.
Отчасти от новите функции които са предложени в тази нова версия, се споменават следните:
- SDL_FlashWindow () - Позволява ви да привлечете вниманието на потребителя.
- SDL_GetAudioDeviceSpec (): е за получаване на информация за предпочитания аудио формат за посоченото устройство.
- SDL_SetWindowAlwaysOnTop (): има за цел динамична промяна на флага SDL_WINDOW_ALWAYS_ON_TOP (закотвяне на друго съдържание) за избрания прозорец.
- SDL_SetWindowKeyboardGrab (): за улавяне на въвеждане от клавиатурата независимо от мишката.
- SDL_SoftStretchLinear (): за билинейно мащабиране между 32-битови повърхности.
- SDL_UpdateNVTexture (): за актуализиране на текстури в NV12 / 21.
- SDL_GameControllerSendEffect () и SDL_JoystickSendEffect (): за изпращане на персонализирани ефекти към контролерите за игри на DualSense.
- SDL_GameControllerGetSensorDataRate (): за получаване на данни за интензивността на информацията, получена от сензорите на игровите контролери PlayStation и Nintendo Switch.
- SDL_AndroidShowToast (): това позволява да се показват леки известия на платформата Android.
Накрая ако се интересувате да научите повече за това от тази нова версия, можете да проверите подробности в следващия линк.
Как да инсталирам Simple DirectMedia Layer на Linux?
Инсталирането на тази библиотека на Linux е доста просто, тъй като повечето дистрибуции на Linux я имат в своите хранилища.
В случай на Debian, Ubuntu и дистрибуции, получени от тях, ще трябва само да стартирате следните команди в терминал:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Докато за случая с тези, които са uArch Linux suarios, ние просто трябва да изпълним следното:
sudo pacman -S sdl2
В случая с тези, които са потребители на Fedora, Centos, RHEL или всякаква дистрибуция, базирана на тях, те просто трябва да изпълнят следната команда:
sudo yum install SDL2 sudo yum install SDL2-devel
За всички останали дистрибуции на Linux, те могат да търсят пакета "sdl" или "libsdl" за инсталиране или да изтеглят и компилират изходния код.
Те правят това с:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install