A fost lansată versiunea bibliotecii SDL 3.2.0 (Simple DirectMedia Layer), care este marcata ca prima versiune oficială stabilă a ramurii SDL 3. Biblioteca este destinată să simplifice scrierea jocurilor și a aplicațiilor multimedia și oferă funcții precum redarea accelerată hardware a graficii 2D și 3D, procesarea intrării, redarea sunetului și redarea 3D prin OpenGL, OpenGL ES, Metal, Direct3D sau Vulkan. Codul este scris în limbajul C și este distribuit sub licența Zlib. Sunt oferite legături pentru utilizarea SDL în proiecte scrise în diferite limbaje de programare.
Noutăți principale:
- Îmbunătățită semnificativ suportul pentru protocolul Wayland, care este acum activat implicit în medii care oferă suport simultan atât pentru Wayland, cât și pentru X11 și care suportă extensiile protocolului fifo-v1 și commit-timing-v1.
- A fost activat implicit mediul multimedia serverul PipeWire, care este marcat ca fiind mai prioritar decât PulseAudio.
- Adăugată suport pentru capturarea video de la webcame (dacă PipeWire este disponibil).
- Adăugată posibilitatea de utilizare a tabletelor grafice și stilourilor digitale.
- Suportul pentru ecrane cu densitate înaltă de pixeli (High DPI) a fost îmbunătățit considerabil.
- Adăugat suport pentru spații de culori și posibilitatea de a gestiona mai multe spații de culori. Implementat suport inițial pentru HDR.
- Codul pentru lucrul cu sunetul a fost complet remodelat. A fost adăugat suport pentru dispozitive logice de sunet (diferite părți ale programului pot funcționa cu propriile lor dispozitive de sunet). Au fost adăugate instrumente pentru lucrul cu fluxuri de sunet, conversia fluxurilor, schimbarea ratei de eșantionare, mixaj, controlul buferizării, schimbarea tonului și volumului. A fost implementată o gestionare automată pentru conectarea și deconectarea dispozitivelor de sunet, precum și schimbarea dispozitivului de sunet implicit.
- A fost adăugat un backend pentru redarea prin API Vulkan în API-ul de redare 2D. Au fost adăugate funcții pentru a lucra cu suprafețe prin API Vulkan.
- A fost efectuată o curățare extinsă a funcțiilor depășite, care și-au pierdut relevanța în realitatea modernă. De exemplu, suportul pentru OpenGL ES 1.0 și DirectFB a fost întrerupt, iar codul pentru lucrul pe platforme vechi, cum ar fi QNX, Pandora, WinRT și OS/2, a fost eliminat.
- A fost oferită posibilitatea de a organiza funcționarea programului folosind apeluri callback și de a defini un ciclu de procesare a evenimentelor în funcția main().
- Modificările aduse API-ului afectează compatibilitatea. Regulile de denumire ale API-ului au fost unificate — apelurile din diferite subsisteme sunt acum denumite folosind un singur sistem comun.
- Au fost adăugate noi API-uri:
- GPU API — acces multiplatformă la GPU și capacitățile de redare 3D.
- Dialog API — utilizarea dialogurilor pentru selectarea/împărțirea/salvarea fișierelor și folderelor.
- Filesystem API — operații cu sistemul de fișiere, gestionarea folderelor și căutarea fișierelor.
- Storage API — interfață de programare abstractă pentru accesarea diferitelor sisteme de stocare a datelor.
- Camera API — acces la camere web.
- Pen API — lucrul cu tabletele grafice și stilourile digitale, cum ar fi Wacom și Apple Pencil.
-
Sursa: opennet.ro
