
наскоро, беше обявено пускането на SDL 3.2, който е представен като първата стабилна версия на клона SDL 3 и въвежда важни подобрения, нови функционалности, корекции, API, корекции и др.
За тези, които не знаят за SDL библиотеката, трябва да знаете, че тя предоставя инструменти като хардуерно ускорен 2D и 3D графичен изход, обработка на входа, аудио възпроизвеждане, 3D изход чрез OpenGL/OpenGL ES и много други свързани операции.
Основни нови функции на SDL 3.2
В SDL 3.2 той е подчертан Подобрена поддръжка за Wayland, това сега Той е активиран по подразбиране на системи, които предлагат съвместимост както с Wayland, така и с X11, стига да поддържат разширенията fifo-v1 и commit-timing-v1. Използването на медийния сървър PipeWire, считан за по-ефективен от PulseAudio, също е с приоритет по подразбиране. Освен това е добавена възможност за заснемане на видео от уеб камери, при условие че PipeWire е наличен.
Друга новост е Добавена е поддръжка за графични таблети и цифрови писалки, заедно с оптимизирана поддръжка за DPI дисплеи. По същия начин е внедрено управление на цветовото пространство, което ви позволява да работите с множество конфигурации и предоставя първоначална поддръжка за HDR.
При подобрения на звука, В SDL 3.2 кодът е напълно преработен, включване на нови инструменти за управление на логически аудио устройства, което улеснява различните части на програмата да работят с независими устройства. Освен това е включена функционалност за работа с аудио потоци, извършване на преобразувания, регулиране на честотата на семплиране, смесване на звуци и управление на буферирането, заедно с възможността за промяна на височината и силата на звука. И накрая, разпознаването на свързани или изключени звукови устройства и динамичното управление на звуковото устройство по подразбиране са автоматизирани.
Друго от най-забележителните допълнения е включването на бекенд в API за 2D изобразяване, което ви позволява да се възползвате от силата на Vulkan както за изобразяване, така и за манипулиране на повърхности с помощта на този API. Освен това имаше основно почистване на функции, считани за остарели, като поддръжка за OpenGL ES 1.0 и DirectFB, заедно с премахване на поддръжка за наследени платформи като QNX, Pandora, WinRT и OS/2.
SDL 3.2 също въвежда възможност за структуриране на програми с помощта на обратното извикване и дефиниране на цикъла на обработка на събития директно в основната функция на кода. Освен това sи въведени промени в APАз нарушавам предишната съвместимост, но се стремя към по-голяма съгласуваност чрез уеднаквяване на правилата за именуване във всички подсистеми.
В рамките на включени нови инструменти, подчертават няколко API, предназначени да покриват различни нужди. Между тях:
- GPU API позволява междуплатформен достъп до функциите за 3D изобразяване, докато Dialog API улеснява избирането, отварянето и запазването на файлове и директории.
- API на файловата система добавя поддръжка за управление на директории и търсене на файлове, докато API за съхранение предоставя абстрактен интерфейс за взаимодействие с различни системи за съхранение.
- API на камера за достъп до уеб камера
- Pen API за работа с графични таблети
- API за свойства за управление на параметри във формат ключ-стойност
- Процесен API, който улеснява изпълнението и комуникацията с вторични процеси.
- API за метаданни също беше добавен, за да дефинира информация за приложенията, използвани в менютата в операционни системи като macOS.
Що се отнася до клипборда, неговата функционалност е разширена, сега позволява прехвърляне на данни в множество формати. От своя страна, възможностите за управление на въвеждане на клавиатура бяха подобрени, добавяйки опции за конфигуриране на виртуални клавиатури на iOS и Android устройства. Освен това документацията на API беше прегледана и подобрена, придружена от практически примери, които могат да бъдат изпълнени директно от браузър.
Не на последно място трябва да се отбележи и че Заедно със SDL 3.2 беше пуснат слой за съвместимост sdl2-compat, проектирани за осигуряване на безпроблемен преход между SDL 2 и SDL 3. Този компонент ви позволява да изпълнявате програми, написани за SDL 2, като се възползвате от функционалностите на новия клон, действайки като пълна замяна на предишната версия.
Ако се интересувате да научите повече за това, можете да се консултирате с подробностите В следващия линк.