
Če delate v razvoju videoiger ali večplatformskih multimedijskih aplikacij, ste verjetno že slišali za SDL. prihod de SDL 3.4Knjižnica je naredila pomemben korak naprej v smislu grafičnih zmogljivosti, podpore platformam in orodij za izboljšanje uporabniške izkušnje, tako na namiznih računalnikih, spletnih kot mobilnih napravah. To ni majhna posodobitev: zajema vse od mehanizma za 2D-upodabljanje in API-ja za 3D-grafični procesor do obdelave zvoka, gonilnikov, vnosa s peresom, sodobnih sistemov Linux in še več.
Čeprav se SDL 3 še naprej razvija, veja 3.4 se predstavlja kot zelo solidna različica Zasnovan je tako, da novim in tekočim projektom pomaga izkoristiti izboljšave zmogljivosti, nove API-je in boljšo integracijo z okolji, kot so Emscripten, Wayland, Vision Pro ali celo PlayStation 2 v zelo specifičnih kontekstih. Oglejmo si podrobneje, kaj je novega v SDL 3.4, zakaj je pomemben za vaš naslednji projekt in katere tehnične podrobnosti morate upoštevati, če želite kar najbolje izkoristiti SDL.
Najpomembnejše splošne nove funkcije SDL 3.4
Glavna smer dela SDL 3.4 se osredotoča na Izboljšajte interoperabilnost med 3D in 2DTo je ključnega pomena za igralne mehanizme in aplikacije, ki združujejo 2D vmesnike s 3D vsebino. Do sedaj je združevanje obeh plasti lahko zahtevalo več dela razvijalca; ta različica uvaja nove pripomočke in lastnosti, ki olajšajo ta postopek.
Poleg grafike posodobitev vključuje tudi izvorna podpora za slike PNGOpazne izboljšave so pri vnosnem sistemu (miška, pisalo, kretnje, zaslonska tipkovnica) in številne specifične spremembe za Windows, macOS, Linux, Emscripten, iOS, visionOS in druge manj pogoste platforme. Izboljšana je bila tudi integracija z ekosistemom Steam in njegovim izvajalnim okoljem, kar je ključnega pomena za igranje iger na Linuxu in razvoj na več platformah, namenjen distribuciji na Steamu.
Interoperabilnost med 3D GPU API-jem in 2D-upodabljanjem
Ena od prednosti SDL 3.4 je spodbuda za integracija med 3D in 2DKnjižnica uvaja nove funkcije za ustvarjanje 2D-upodabljalnikov na osnovi GPU-ja in za izmenjavo informacij med teksturami GPU-ja in formati slikovnih pik, ki jih obdeluje SDL.
- Dodaja SDL_CreateGPURenderer() ustvariti 2D-upodabljalnik, ki izkorišča osnovni API GPU-ja.
- z SDL_GetGPURendererDevice() Pridobite lahko napravo GPU, povezano s tem upodabljalnikom.
- Pridružijo se SDL_CreateGPURenderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() in SDL_DestroyGPURenderState() za delo s senčilniki fragmentov znotraj 2D-upodabljanja z grafičnim procesorjem.
- Zdaj so sprejeti YUV teksture in HDR barvni prostori v 2D-upodabljalniku na osnovi GPU-ja, kar je še posebej zanimivo za vrhunske videoposnetke in vsebine.
Vključuje tudi funkcije, kot so SDL_GetGPUDeviceProperties()To vrne lastnosti naprave GPU, vključno z imenom naprave, imenom in različico gonilnika ter druge informacije, pomembne za odločitve o združljivosti ali diagnostiki. Poleg tega `SDL_GetPixelFormatFromGPUTextureFormat()` in `SDL_GetGPUTextureFormatFromPixelFormat()` omogočata pretvorbo med formati tekstur GPU in formati slikovnih pik SDL.
Vzporedno je vključena tudi nepremičnina SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER Za ustvarjanje 2D-teksture iz obstoječe teksture GPU in SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER za pridobitev teksture GPU, povezane z 2D-teksturo, pri uporabi 2D-upodabljalnika GPU. Ta pristop znatno zmanjša trenje pri mešanju vsebine, ustvarjene v API-ju GPU, s klasičnim 2D-cevovodom SDL.
Izboljšave pri 2D-upodabljanju in obdelavi tekstur
SDL 3.4 presega zgolj interoperabilnost in dodaja posebne funkcije za natančno nastavite kakovost in nadzor 2D-upodabljanjaNa primer, uveden je SDL_RenderTexture9GridTiled(), ki omogoča upodabljanje v 9-mrežnem načinu s teksturami v "ploščičastem" načinu namesto njihovega raztezanja, s čimer se izognemo deformacijam v elementih vmesnika ali okvirjih.
Za upravljanje skaliranja tekstur je dodanih naslednje SDL_GetDefaultTextureScaleMode() in SDL_SetDefaultTextureScaleMode(), ki omogoča nastavitev privzetega načina skaliranja za nove teksture. S tem sta povezana SDL_GetRenderTextureAddressMode() in SDL_SetRenderTextureAddressMode(), skupaj s konstanto SDL_TEXTURE_ADDRESS_WRAP, ki zagotavlja podpora za oblivanje tekstur ko upodabljalnik označi, da podpira ovijanje (SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN).
Zelo zanimiva nova funkcija za igre z retro estetiko je SDL_SCALEMODE_PIXELART, algoritem skaliranja, zasnovan za slikovno umetnost, ki se izogne klasičnemu zamegljevanju drugih načinov filtriranja in ohrani definirane robove tudi pri močni povečavi slike.
Obstaja tudi možnost sodelovanja z teksturne paleteFunkciji SDL_SetTexturePalette() in SDL_GetTexturePalette() omogočata dodeljevanje in poizvedovanje po paletah v teksturah, kar je uporabno, če poustvarjate stare grafične sloge ali želite optimizirati določene pomnilniške in pasovne širine pretok.
Kar zadeva površine, SDL 3.4 vključuje SDL_RotateSurface() Za ustvarjanje zasukanih kopij površine je dodan SDL_FLIP_HORIZONTAL_AND_VERTICAL, ki omogoča hkratno zrcanje površin na obeh oseh. Poleg tega se lastnost SDL_PROP_SURFACE_ROTATION_NUMBER (ki jo je v končnih spremembah kandidata za izdajo kasneje nadomestila lastnost SDL_PROP_SURFACE_ROTATION_FLOAT) uporablja za določitev kota, potrebnega za pravilen prikaz slik kamere.
Izvorna podpora za PNG in nalaganje površine
Ena najbolj dobrodošlih izboljšav v smislu praktičnosti je, da SDL 3.4 vključuje izvorna podpora za PNG... brez zanašanja na zunanje knjižnice v mnogih primerih. To poenostavi veliko majhni projekti in prototipi.
- SDL_NaložiPNG() in SDL_LoadPNG_IO() omogočata nalaganje slik PNG neposredno kot površin.
- SDL_ShraniPNG() in SDL_SavePNG_IO() se uporabljata za shranjevanje površin v formatu PNG.
- z SDL_LoadSurface() SDL_LoadSurface_IO() samodejno zazna, ali je datoteka BMP ali PNG, in jo naloži na površino, ne da bi vam bilo treba skrbeti za format.
Ta integrirana podpora se odraža v manj odvisnosti in zunanjih konfiguracijTo je še posebej uporabno pri prevajanju za več platform ali uporabi SDL v okoljih, kot je Emscripten, kjer zmanjšanje števila pomožnih knjižnic vpliva tako na velikost binarne datoteke kot na njeno kompleksnost.
Vnos: miška, pisalo, kretnje in zaslonska tipkovnica
SDL 3.4 bistveno izboljša vse, kar je povezano z napredne vhodne napraveV domeni miške je uveden SDL_SetRelativeMouseTransform(), ki omogoča uporabo prilagojene transformacije relativnega vhoda miške, uporabne za tehnike skaliranja, inverzijo osi ali posebna preslikavanja.
Glede svinčnikov in pisal se zdi SDL_GetPenDeviceType()kar omogoča razlikovanje, ali pero deluje neposredno na zaslonu ali na ločeni sledilni ploščici, kar je zelo uporabna podrobnost za prilagajanje uporabniške izkušnje glede na vrsto naprave.
Na napravah z virtualno tipkovnico SDL doda dogodke, kot so SDL_DOGODK_ZASLON_TIPKOVNICE_PRIKAZ in SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, ki sporočata, kdaj je zaslonska tipkovnica prikazana ali skrita. To vam daje manevrski prostor za prilagajanje vmesnika, premikanje elementov ali preprečevanje prekrivanja besedilnih polj.
Sistem gest se širi tudi z dogodki SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE in SDL_EVENT_PINCH_ENDki zaznavajo geste ščipanja za povečavo in podobna dejanja. Poleg tega je v okolju Wayland popravljena podpora za več kot pet gumbov miške, v X11 pa je uvedeno natančno drsenje, kar izboljša gladkost finega drsenja.
Končno, SDL 3.4 vključuje SDL_GetEventDescription(), funkcija za pridobitev angleškega opisa dogodka, namenjena beleženju in odpravljanju napak, kar je zelo uporabno pri sledenju redkim vhodnim vedenjem na več platformah.
Zvok: bolj prilagodljivi delovni procesi in brez ponovne obdelave sistema
Tudi avdio podsistem je deležen precejšnjega deleža izboljšav, z močnim poudarkom na Učinkovita obdelava in nadzor cevovodaZa začetek se SDL_EVENT_AUDIO_DEVICE_ADDED zdaj pošlje tudi med inicializacijo za vsako zaznano zvočno napravo, kar olajša odkrivanje in seznam naprav brez čakanja na dinamične dogodke.
Dve novi funkciji, SDL_PutAudioStreamDataNoCopy() in SDL_PutAudioStreamPlanarData() ponujata več možnosti pri delu z zvočnimi tokovi: prvi se v določenih primerih izogne nepotrebnim kopijam, drugi pa omogoča vnos podatkov v ravninski obliki namesto prepletenih, kar je idealno za napredne tokove ali integracijo z visokonivojskimi knjižnicami za obdelavo zvoka.
Poleg tega je osrednjega pomena namig SDL_HINT_AUDIO_DEVICE_RAW_STREAM: ta namig označuje, da operacijski sistem Zvoka ne smete dodatno obdelovati. (na primer odpravljanje šumov). To je ključnega pomena, če vaša aplikacija ali igra že obdeluje in ne želite, da operacijski sistem moti in popači rezultat. Predstavljena je tudi SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN, ki omogoča, da določeni tokovi preživijo dlje od življenjskega cikla zvočnega podsistema, kar je uporabno v bolj kompleksnih arhitekturah.
HID krmilniki in naprave
SDL 3.4 bistveno izboljšuje podporo za krmilnike in naprave HID ter širi nabor strojne opreme, ki deluje takoj po namestitvi brez zunanje konfiguracije. Predvsem dodaja Izboljšana podpora za 8BitDo krmilnikeFlyDigi in Hand Held Legend SINput, ki omogoča doslednejše delovanje številnih igralnih konzol drugih proizvajalcev.
Prav tako je vključen Žično stojalo za krmilnik Nintendo Switch 2 Ko je SDL preveden z libusb, je to zanimivo za uporabnike, ki imajo raje neposredno povezavo kot brezžični način. Na ravni HID API-ja se zdi, da SDL_hid_get_properties() povezuje lastnosti SDL z napravami HID, lastnost SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER pa omogoča pridobitev ročaja libusb, povezanega z napravo SDL_hid_device, ko je bila ta odprta z libusb.
Te izboljšave so dodatek k dejstvu, da SDL 3.4 vključuje podpora za novi Steam Controller znotraj svojega začetnega ekosistema, kar se zelo dobro ujema z njegovo vlogo znotraj izvajalnega okolja Steam in osredotočenostjo na igranje iger na Linuxu in drugih platformah.
Dogodki, sistem in splošni pripomočki
Poleg grafičnih in vhodnih vidikov SDL 3.4 uvaja vrsto sprememb v sistem dogodkov in splošne pripomočke, o katerih je vredno vedeti. Na primer SDL_DOGODK_OKNO_IZPOSTAVLJENO Zdaj pri pošiljanju med spreminjanjem velikosti okna v živo polje data1 napolni z vrednostjo true, kar zagotavlja dodaten kontekst.
Dodaja SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGEDTa dogodek se sproži, ko se spremenijo uporabne meje namizja (na primer pri premikanju opravilnih vrstic ali plošč). Vključuje tudi dogodke SDL_EVENT_SCREEN_KEYBOARD_SHOWN/SDL_EVENT_SCREEN_KEYBOARD_HIDDEN in prej omenjene dogodke pinch, s čimer zagotavlja bolj celovit ekosistem dogodkov za scenarije dinamičnega uporabniškega vmesnika.
Na strani dobička, SDL_HINT_GLAVNI_STOPNJA_POVRATNIH_KLICOV zdaj je mogoče nastaviti kot vrednost s plavajočo vejico, kar zagotavlja večjo natančnost; SDL_AddAtomicU32() Dodaja podporo za atomsko seštevanje 32-bitnih nepredznačenih celih števil; in SDL_GetSystemPageSize() vrne velikost sistemske strani, kar je uporabno za naloge z nizkonivojskim pomnilnikom.
Vključeno tudi SDL_PORAVNANO()Ta makro označuje, da morajo imeti določeni podatki določeno poravnavo, kar je zelo pomembno za optimizacijo delovanja in uporabo navodil SIMD. Medtem vam SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER omogoča, da definirate funkcijo sproščanja po meri za pomnilnik, ki ga uporabljata SDL_IOFromMem() in SDL_IOFromConstMem(), kar vam daje večji nadzor pri integraciji SDL z vašimi lastnimi alokatorji.
Druga zanimiva izboljšava je podpora za podroben izpis dnevnika Ko je spremenljivka okolja DEBUG_INVOCATION nastavljena na "1", je namenjena poglobljenemu odpravljanju napak pri inicializaciji in delovanju knjižnice v kompleksnih kontekstih.
Specifične izboljšave v sistemu Windows
V sistemu Windows SDL 3.4 vključuje pomembne spremembe, ki vplivajo na zvok, video in vhodni sistem. Ena od zanimivosti je funkcija namigov. SDL_HINT_RENDER_DIRECT3D11_WARPTo vam omogoča, da aktivirate WARP (programski rasterizator D3D11). To je uporabno na računalnikih brez združljivega grafičnega procesorja ali v virtualiziranih okoljih, kjer ni neposrednega pospeševanja, vendar želite še vedno uporabljati API.
Gonilnik WASAPI izkorišča VLOGA_PRETOKA_ZVOČNE_NAPRAVE_SDL_HINT Za prilagoditev kategorije zvočnega toka je pomembna integracija za delovanje, ki je skladno s sistemom (npr. zvok igre, komunikacija itd.). Zanaša se tudi na SDL_HINT_AUDIO_DEVICE_RAW_STREAM, da navede, ali naj gonilnik uporabi dodatno obdelavo.
Namig se vnese na strani za vnos s tipkovnico. SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTCEYSTo vam omogoča, da onemogočite določene sistemske bližnjice pri uporabi surovega vnosa, kar je zelo praktično za igre, ki morajo zajeti kombinacije tipk brez motenj sistema. In na ravni API-ja GameInput, SDL_HINT_WINDOWS_GAMEINPUT Privzeto je onemogočen, kar zmanjšuje morebitne konflikte v nekaterih okoljih, dokler ni izrecno konfiguriran.
Dodano je tudi SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER Za pridobitev HMONITOR-ja, povezanega z zaslonom, kar je zelo uporabno, če mešate SDL s klasično kodo Win32 in morate uskladiti okna ali monitorje.
macOS, iOS in visionOS
V sistemu macOS SDL 3.4 vključuje zelo praktičen namig: SDL_HINT_MAC_PRITISNI_IN_DRŽITa nastavitev nadzoruje, ali se s pridržanjem tipke ponovi pritisk tipke ali odpre meni z naglasi. To vam omogoča, da prilagodite delovanje tipkovnice za igre in aplikacije, ki zahtevajo hitro ponavljanje tipk namesto tipičnega menija z naglasi v macOS.
V iOS-u, SDL zdaj podpira okenske prizoreTo odpravlja opozorilo »CLIENT OF UIKIT REQUIRES POSODOBITEV« in usklajuje knjižnico s sodobnimi praksami UIKit. Uvedena je lastnost SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER, ki določa prizor okna pri ustvarjanju okna SDL in pomaga pri pravilni integraciji aplikacije v sistem za ustvarjanje oken iOS.
V sistemu VisionOS in napravah, kot je Apple Vision Pro, SDL 3.4 prilagaja delovanje oken in hitrost osveževanja. Privzeta hitrost osveževanja je poveča na 90 Hzzagotavlja bolj gladko izkušnjo, SDL_SetWindowSize() pa učinkovito spreminja velikost okna na slušalkah Vision Pro, kar omogoča večji nadzor nad postavitvijo v okoljih mešane resničnosti.
Linux, Wayland, KMS/DRM in Vulkan
V svetu Linuxa SDL 3.4 prinaša veliko novih funkcij. Med drugim dodaja atomska podpora za KMSDRMTo izboljša stabilnost in sinhronizacijo z neposrednim delovanjem z grafičnim podsistemom jedra. V zvezi s tem namig SDL_HINT_KMSDRM_ATOMIC omogoča nadzor nad tem, ali bo KMSDRM uporabljal to atomsko funkcionalnost ali ne.
Za Wayland je vključeno naslednje: SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTERTa funkcija vam omogoča pridobitev wl_output, povezanega z zaslonom, kar omogoča globoko integracijo s kompozitorjem. Poleg tega so bile odpravljene težave z mišmi z več kot petimi gumbi, izboljšano pa je bilo tudi natančno pomikanje v X11, kar zagotavlja veliko boljši občutek nadzora v aplikacijah, ki so močno odvisne od pomikanja.
Glede Vulkana, SDL 3.4 uvaja šaržno upodabljanje in druge izboljšave za API-je, kot je Vulkan, ki zmanjšuje odvečne klice risanja in izboljšuje splošno zmogljivost. Delo poteka tudi na logiki, ki zazna Zmogljivejši grafični procesor Vulkan V sistemih z več grafičnimi procesorji pomaga samodejna izbira najprimernejše naprave, zlasti v hibridnih ali prenosnih sistemih z integriranimi in namenskimi grafičnimi procesorji.
Poleg tega je dodana lastnost SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER za konfiguriranje možnosti Vulkan pri ustvarjanju naprave GPU in lastnost SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN za zahtevo pospeševanja strojne opreme pri ustvarjanju omenjene naprave. Na bolj sistemski ravni je SDL pozicioniran tudi kot Komplet orodij X11 z uvedbo X11TK kot lastnega kompleta orodij X11 za SDL.
Emscripten in uporaba brskalnika
SDL 3.4 znatno izboljša svojo integracijo z Emscripten in izvajanje v spletnih brskalnikihTo je ključnega pomena, če želite svojo igro ali aplikacijo prenesti na splet, ne da bi jo prepisali od začetka. Ena od novih funkcij omogoča, da okno SDL "zapolni dokument", ne da bi bilo nujno v celozaslonskem načinu.
V prejšnji različici je bil uveden SDL_HINT_EMSCRIPTEN_FILL_DOCUMENT, v končni izdaji pa je reorganiziran okoli zastavice. SDL_WINDOW_FILL_DOCUMENT in funkcijo SDL_SetWindowFillDocument() skupaj z več sorodnimi lastnostmi. Med pomembnejše primere spadajo:
- SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING in SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING za nastavitev in poizvedbo po ID-ju platna, ki ga uporablja SDL.
- SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN in SDL_PROP_WINDOW_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN, da označite in preverite, ali naj okno zasede celoten dokument.
- SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING in SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING za določitev in poizvedbo elementa, s katerim je povezan vnos s tipkovnice.
Te možnosti ponujajo zelo natančen nadzor nad Kako se SDL integrira z DOM-om in platnom?To pomaga preprečiti vdore in vmesne plasti pri delu z Emscriptenom. Prav tako olajša zagotavljanje združljivosti SDL s spletnimi ogrodji ali bolj kompleksnimi integracijami, kjer je platno le en del strani.
PlayStation 2 in druge manj pogoste platforme
Čeprav je morda presenetljivo, SDL 3.4 posveča pozornost tudi veteranske platforme, kot je PlayStation 2Dodani namigi za nadzor parametrov prikaza: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE in SDL_HINT_PS2_GS_MODE, ki omogočajo prilagajanje ločljivosti, progresivnega načina in splošnih nastavitev grafičnega sintetizatorja.
Te podrobnosti jasno kažejo, da SDL ostaja zelo prilagodljiva možnost za domači projekti, emulacija ali raziskave na starejših platformah, razen močnega poudarka na sodobnih osebnih računalnikih, mobilnih napravah in spletu.
Upravljanje procesov, dovoljenja za kamero in metapodatki ELF
Na sistemski ravni SDL 3.4 dodaja lastnost SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_NIZTo se uporablja za konfiguriranje delovnega imenika novih procesov, ustvarjenih iz SDL. To poenostavi izvajanje podprocesov ali zunanjih orodij iz vaše aplikacije SDL, ne da bi morali dostopati do API-ja operacijskega sistema.
Na področju fotografije, SDL_GetCameraPermissionState() zdaj vrne vrednost tipa SDL_CameraPermissionState namesto generičnega celega števila, boljše usklajevanje semantike in lažje upravljanje dovoljenj na mobilnih in namiznih platformah.
V sistemih Unix SDL vključuje opombe ELF, ki opisujejo njegovo neobvezne knjižnične prostore V skladu z obliko, dokumentirano na systemd.io/ELF_DLOPEN_METADATA, je ideja, da lahko distribucije analizirajo te zapiske in samodejno ustvarijo odvisnosti paketov z uporabo orodij, kot je package-notes. SDL ponuja makro SDL_ELF_NOTE_DLOPEN, tako da lahko druge knjižnice in igre storijo enako, kar omogoča veliko čistejše upravljanje odvisnosti.
Napredek okna in animirani kazalci
Za izboljšanje uporabniške izkušnje SDL 3.4 dodaja funkcije, namenjene prikaz napredka in obogatitev vmesnikaNa primer, funkcije SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() in SDL_GetWindowProgressValue() so uvedene za prikaz vrstic napredka na ikoni okna v opravilni vrstici sistema Windows in Linux.
Ta funkcija uporabniku omogoča, da vidi stanje dolge operacije (prenosi, nalaganja, notranje gradnje itd.), tudi če okno ni v ospredju. To je precej eleganten način za zagotavljanje povratnih informacij, ne da bi bilo treba oblikovati dodatne HUD-e.
Po drugi strani pa SDL_CreateAnimatedCursor() omogoča ustvarite animirane barvne kurzorjeTo doda kanček vizualne elegancije igram ali orodjem, kjer kazalec sporoča stanja (nalaganje, možno dejanje, opozorilo itd.). V kombinaciji z novim namigom SDL_HINT_MOUSE_DPI_SCALE_CURSORS, ki je zdaj privzeto nastavljen na »0«, da se prepreči nepričakovano spreminjanje velikosti kazalcev v okoljih z DPI-skaliranjem, zagotavlja bolj predvidljiv nadzor nad videzom kazalca.
S tem nizom sprememb – od integracije 3D/2D GPU, izvorne podpore za PNG, izboljšav vnosa in zvoka do pozornosti do sodobnega Linuxa, Emscriptena, visionOS-a in klasičnih konzol – SDL 3.4 utrjuje svoj položaj kot zelo celovit nabor orodij za razvoj na več platformahzmanjšanje zunanjih odvisnosti in ponujanje trdne podlage za iteracije, ne da bi ves dan porabili za odpravljanje težav z odpravljanjem napak, ki niso povezane z vašo lastno kodo.
