SDL 3.2: tiek piegādāta pirmā oficiālā stabilā versija ar Wayland uzlabojumiem, jaunām API un daudz ko citu

SDL ir C programmēšanas valodā izstrādāts bibliotēku kopums, kas nodrošina pamatfunkcijas multivides operāciju veikšanai (audio un video), kā arī attēlu ielādi un pārvaldību.

Nesen, tika paziņots par SDL 3.2 izlaišanu, kas tiek prezentēta kā pirmā stabilā SDL 3 filiāles versija, un tajā ir ieviesti svarīgi uzlabojumi, jaunas funkcijas, pielāgojumi, API, labojumi un daudz kas cits.

Tiem, kas nezina par SDL bibliotēku, jums jāzina, ka tā nodrošina tādus rīkus kā aparatūras paātrināta 2D un 3D grafikas izvade, ievades apstrāde, audio atskaņošana, 3D izvade caur OpenGL/OpenGL ES un daudzas citas saistītas darbības.

SDL 3.2 galvenās jaunās iezīmes

SDL 3.2 versijā tas ir izcelts Uzlabots atbalsts Veilanamd, tas tagad Tas pēc noklusējuma tiek aktivizēts sistēmās, kas piedāvā saderību ar Wayland un X11, ja vien tie atbalsta paplašinājumus fifo-v1 un commit-timing-v1. Pēc noklusējuma prioritāte ir arī PipeWire multivides servera izmantošanai, kas tiek uzskatīta par efektīvāku nekā PulseAudio. Turklāt ir pievienota iespēja uzņemt video no tīmekļa kamerām, ja ir pieejams PipeWire.

Vēl viens jaunums ir Pievienots atbalsts grafikas planšetdatoriem un digitālajām pildspalvām, kā arī optimizēts DPI displeju atbalsts. Tāpat ir ieviesta krāsu telpas pārvaldība, kas ļauj strādāt ar vairākām konfigurācijām un nodrošina sākotnējo atbalstu HDR.

Skaņas uzlabojumos SDL 3.2 kods ir pilnībā pārveidots, iekļaujot jaunus rīkus loģisko audio ierīču pārvaldībai, atvieglojot dažādu programmas daļu darbību ar neatkarīgām ierīcēm. Turklāt ir iekļauta funkcionalitāte darbam ar audio straumēm, konvertēšanu, iztveršanas ātruma pielāgošanu, skaņu miksēšanu un buferizācijas pārvaldību, kā arī iespēja mainīt toni un skaļumu. Visbeidzot, pievienoto vai atvienoto skaņas ierīču atpazīšana un noklusējuma skaņas ierīces dinamiskā pārvaldība ir automatizēta.

Vēl viens no ievērojamākajiem papildinājumiem ir aizmugursistēmas iekļaušana 2D renderēšanas API, kas ļauj izmantot Vulkan iespējas gan renderēšanai, gan virsmu apstrādei, izmantojot šo API. Turklāt tika veikta pamatīga to funkciju tīrīšana, kas tika uzskatītas par novecojušām, piemēram, atbalsts OpenGL ES 1.0 un DirectFB, kā arī atbalsts mantotajām platformām, piemēram, QNX, Pandora, WinRT un OS/2.

SDL 3.2 arī ievieš iespēja strukturēt programmas, izmantojot atzvanīšanu un definēt apstrādes cilpu notikumiem tieši koda galvenajā funkcijā. Turklāt sun ieviesa izmaiņas APEs pārtraucu iepriekšējo saderību, bet meklē lielāku saskaņotību, apvienojot nosaukumu piešķiršanas noteikumus visās apakšsistēmās.

Iekšpusē iekļauti jauni rīki, izceļ vairākas API, kas izstrādātas dažādām vajadzībām. Starp viņiem:

  • GPU API nodrošina vairāku platformu piekļuvi 3D renderēšanas funkcijām, savukārt Dialog API ļauj ērti atlasīt, atvērt un saglabāt failus un direktorijus.
  • Failu sistēmas API pievieno atbalstu direktoriju pārvaldībai un failu meklēšanai, savukārt Storage API nodrošina abstraktu saskarni mijiedarbībai ar dažādām uzglabāšanas sistēmām.
  • Kameras API piekļuvei tīmekļa kamerai
  • Pildspalvas API darbam ar grafikas planšetdatoriem
  • Properties API, lai pārvaldītu parametrus atslēgas vērtības formātā
  • Process API, kas atvieglo izpildi un saziņu ar sekundārajiem procesiem.
  • Tika pievienota arī metadatu API, lai definētu informāciju par lietojumprogrammām, kas tiek izmantota tādu operētājsistēmu izvēlnēs kā macOS.

Kas attiecas uz starpliktuvi, tās funkcionalitāte ir paplašināta, tagad ļauj pārsūtīt datus vairākos formātos. No savas puses tika uzlabotas tastatūras ievades pārvaldības iespējas, pievienojot opcijas virtuālo tastatūru konfigurēšanai iOS un Android ierīcēs. Turklāt tika pārskatīta un uzlabota API dokumentācija, kā arī praktiski piemēri, kurus var izpildīt tieši no pārlūkprogrammas.

Pēdējais, bet ne mazāk svarīgi, jāatzīmē arī tas Kopā ar SDL 3.2 tika izlaists sdl2 saderības slānis, paredzēts lai nodrošinātu netraucētu pāreju starp SDL 2 un SDL 3. Šis komponents ļauj palaist programmas, kas rakstītas SDL 2, izmantojot jaunās filiāles funkcijas, pilnībā aizstājot iepriekšējo versiju.

Ja vēlaties uzzināt vairāk par to, varat uzzināt sīkāku informāciju Šajā saitē.