SDL 3.4 posiluje interoperabilitu mezi 3D GPU API a 2D renderováním.

  • SDL 3.4 posiluje interoperabilitu mezi 3D GPU API a 2D renderováním díky novým rendererům, stavům GPU a podpoře YUV a HDR.
  • Tato verze přidává nativní podporu PNG, nové možnosti škálování a směrování textur, animované kurzory a pokročilé události vstupu a okna.
  • Zahrnuje specifická vylepšení pro Windows, macOS, Linux, Emscripten, iOS a visionOS, spolu s rozšířenou podporou pro řadiče, HID a atomické KMSDRM.
  • SDL 3.4 je zavedená jako vyspělejší verze SDL3 s větší stabilitou, lepším výkonem a hlubší integrací se Steam, Vulkan a webovými platformami.

SLD 3.4

Pokud pracujete ve vývoji videoher nebo multiplatformních multimediálních aplikací, pravděpodobně jste slyšeli o SDL. příjezd de SDL 3.4Knihovna představuje významný krok vpřed, pokud jde o grafické možnosti, podporu platforem a nástroje pro vylepšení uživatelského prostředí, a to na desktopových, webových i mobilních zařízeních. Nejedná se o drobnou aktualizaci: zahrnuje vše od 2D renderovacího enginu a 3D GPU API až po zpracování zvuku, ovladače, vstup perem, moderní linuxové systémy a další.

Ačkoli se SDL 3 neustále vyvíjí, větev 3.4 se prezentuje jako velmi solidní verze Navrženo tak, aby pomohlo novým i probíhajícím projektům využít vylepšení výkonu, nová API a lepší integraci s prostředími, jako jsou Emscripten, Wayland, Vision Pro nebo dokonce PlayStation 2 ve velmi specifických kontextech. Pojďme se blíže podívat na to, co je nového v SDL 3.4, proč je to relevantní pro váš další projekt a jaké technické detaily byste měli mít na paměti, pokud chcete z verze vytěžit maximum.

Nejdůležitější obecné nové funkce SDL 3.4

Hlavní pracovní linie SDL 3.4 se zaměřuje na Zlepšení interoperability mezi 3D a 2DTo je klíčové pro herní enginy a aplikace, které kombinují 2D rozhraní s 3D obsahem. Doposud mohlo kombinování obou vrstev vyžadovat od vývojáře více práce; tato verze zavádí nové nástroje a vlastnosti, které tento proces usnadňují.

Kromě grafiky aktualizace obsahuje nativní podpora pro obrázky PNGVýznamná vylepšení se dočkal vstupního systému (myš, stylus, gesta, klávesnice na obrazovce) a řada specifických změn pro Windows, macOS, Linux, Emscripton, iOS, visionOS a další méně běžné platformy. Vylepšena byla také integrace s ekosystémem Steam a jeho běhovým prostředím, což je klíčové pro hraní her na Linuxu a vývoj napříč platformami zaměřený na distribuci přes Steam.

SDL 3
Související článek:
SDL 3: Nová éra pro vývoj Linuxu a hry pro více platforem

Interoperabilita mezi 3D GPU API a 2D renderováním

Jednou ze silných stránek SDL 3.4 je posílení integrace mezi 3D a 2DKnihovna zavádí nové funkce pro vytváření 2D rendererů založených na GPU a pro výměnu informací mezi texturami GPU a formáty pixelů zpracovávanými SDL.

  • Dodává SDL_CreateGPURenderer() vytvořit 2D renderer, který využívá základní API GPU.
  • s SDL_GetGPURendererDevice() Můžete načíst zařízení GPU přidružené k danému rendereru.
  • Přidávají se SDL_CreateGPURenderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() a SDL_DestroyGPURenderState() pro práci s fragment shadery v rámci 2D GPU renderování.
  • Nyní jsou připuštěni YUV textury a HDR barevné prostory v 2D rendereru založeném na GPU, což je obzvláště zajímavé pro špičkové video a obsah.

Zahrnuje také funkce, jako například SDL_GetGPUDeviceProperties()Toto vrátí vlastnosti zařízení GPU, včetně názvu zařízení, názvu a verze ovladače a další informace relevantní pro kompatibilitu nebo diagnostická rozhodnutí. Funkce `SDL_GetPixelFormatFromGPUTextureFormat()` a `SDL_GetGPUTextureFormatFromPixelFormat()` navíc usnadňují převod mezi formáty textur GPU a formáty pixelů SDL.

Souběžně je zahrnuta i nemovitost SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER Pro vytvoření 2D textury z existující textury GPU a SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER pro získání textury GPU přidružené k 2D textuře při použití 2D GPU rendereru. Tento přístup výrazně snižuje tření při míchání obsahu generovaného v GPU API s klasickým 2D pipeline SDL.

Vylepšení 2D renderování a zpracování textur

SDL 3.4 jde nad rámec pouhé interoperability a přidává specifické funkce pro doladit kvalitu a ovládání 2D renderinguNapříklad je zavedena metoda SDL_RenderTexture9GridTiled(), která umožňuje vykreslování v 9 mřížkách s texturami v „dlaždicovém“ režimu namísto jejich roztahování, čímž se zabrání deformacím v prvcích rozhraní nebo rámech.

Pro správu škálování textur jsou přidány následující prvky SDL_GetDefaultTextureScaleMode() a SDL_SetDefaultTextureScaleMode(), který umožňuje nastavit výchozí režim škálování pro nové textury. S tím souvisí SDL_GetRenderTextureAddressMode() a SDL_SetRenderTextureAddressMode(), spolu s konstantou SDL_TEXTURE_ADDRESS_WRAP, která poskytuje podpora obtékání textur když renderer indikuje, že podporuje obtékání (SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN).

Velmi zajímavou novou funkcí pro hry s retro estetikou je SDL_SCALEMODE_PIXELART, algoritmus škálování určený pro pixel art, který se vyhýbá klasickému rozmazání jiných režimů filtrování a zachovává definované hrany i při výrazném zvětšení obrazu.

Existuje také možnost spolupráce s texturové paletyFunkce SDL_SetTexturePalette() a SDL_GetTexturePalette() umožňují přiřazovat a dotazovat palety v texturách, což je užitečné, pokud znovu vytváříte staré grafické styly nebo chcete optimalizovat určité toky paměti a šířky pásma.

Pokud jde o povrchy, SDL 3.4 zahrnuje SDL_RotateSurface() Pro vytvoření otočených kopií povrchu je přidána vlastnost SDL_FLIP_HORIZONTAL_AND_VERTICAL, která umožňuje současné převrácení povrchů na obou osách. Vlastnost SDL_PROP_SURFACE_ROTATION_NUMBER (později nahrazena vlastností SDL_PROP_SURFACE_ROTATION_FLOAT ve finálních změnách kandidáta na verzi) se navíc používá k určení úhlu potřebného pro správné zobrazení obrazů z kamery.

Nativní podpora PNG a načítání povrchu

Jedním z nejvíce vítaných vylepšení z hlediska praktičnosti je, že SDL 3.4 zahrnuje nativní podpora pro PNG...bez nutnosti spoléhat se v mnoha případech na externí knihovny. To zjednodušuje spoustu věcí malé projekty a prototypy.

  • SDL_NačístPNG() a SDL_LoadPNG_IO() umožňuje načítání PNG obrázků přímo jako povrchů.
  • SDL_SavePNG() a SDL_SavePNG_IO() se používají k ukládání povrchů ve formátu PNG.
  • s SDL_NačístPlochu() SDL_LoadSurface_IO() automaticky detekuje, zda je soubor BMP nebo PNG, a načte jej na povrch, aniž byste se museli starat o formát.

Tato integrovaná podpora se promítá do méně závislostí a externích konfiguracíTo je obzvláště užitečné při kompilaci pro více platforem nebo při použití SDL v prostředích, jako je Emscripten, kde snížení počtu pomocných knihoven má vliv jak na velikost binárního souboru, tak na jeho složitost.

Vstup: myš, stylus, gesta a klávesnice na obrazovce

SDL 3.4 výrazně vylepšuje vše, co souvisí s pokročilá vstupní zařízeníV doméně myši je zavedena metoda SDL_SetRelativeMouseTransform(), která umožňuje aplikovat vlastní transformaci na relativní vstup myši, což je užitečné pro techniky škálování, inverzi os nebo speciální mapování.

Pokud jde o tužky a stylusy, zdá se, SDL_GetPenDeviceType()což umožňuje rozlišit, zda pero působí přímo na obrazovku nebo na samostatný touchpad, což je velmi užitečný detail pro přizpůsobení UX typu zařízení.

Na zařízeních s virtuální klávesnicí SDL přidává události, jako například SDL_EVENT_SCREEN_KEYBOARD_SHOWN a SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, které hlásí, kdy je klávesnice na obrazovce zobrazena nebo skryta. To vám dává prostor pro úpravu rozhraní, přesun prvků nebo zabránění zakrytí textových polí.

Systém gest se také rozšiřuje o události SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE a SDL_EVENT_PINCH_ENDkteré detekují gesta štípnutí/štípnutí pro zoomování a podobné akce. V prostředí Wayland je navíc opravena podpora pro více než pět tlačítek myši a v X11 je zavedeno přesné rolování, které zlepšuje plynulost jemného rolování.

Konečně, SDL 3.4 zahrnuje SDL_GetEventDescription(), funkce pro získání anglického popisu události, určená pro protokolování a ladění, což je velmi užitečné při sledování vzácných vstupních chování napříč více platformami.

Zvuk: flexibilnější pracovní postupy a žádné přepracování systému

Zvukový subsystém se také dočkal svého dílu vylepšení, se silným zaměřením na Efektivní zpracování a řízení potrubíPro začátek se nyní během inicializace pro každé detekované zvukové zařízení odesílá také SDL_EVENT_AUDIO_DEVICE_ADDED, což usnadňuje vyhledávání a zobrazení zařízení bez nutnosti čekání na dynamické události.

Dvě nové funkce, SDL_PutAudioStreamDataNoCopy() a SDL_PutAudioStreamPlanarData() poskytují více možností při práci se zvukovými streamy: první v určitých případech zabraňuje zbytečným kopiím a druhý umožňuje zadávání dat v planárním formátu namísto prokládaného, ​​což je ideální pro pokročilé streamy nebo integraci s knihovnami pro zpracování zvuku na vysoké úrovni.

Kromě toho hraje ústřední roli nápověda SDL_HINT_AUDIO_DEVICE_RAW_STREAM: tato nápověda indikuje, že operační systém Na zvuk byste neměli aplikovat žádné další zpracování. (například potlačení šumu). To je klíčové, pokud vaše aplikace nebo hra již zpracování zvládá a nechcete, aby operační systém zasahoval a zkresloval výsledek. Také je zavedena funkce SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN, která umožňuje určitým streamům přežít i po skončení životního cyklu zvukového subsystému, což je užitečné u složitějších architektur.

HID řadiče a zařízení

SDL 3.4 výrazně vylepšuje podporu pro řídicí jednotky a zařízení HID a rozšiřuje tak škálu hardwaru, který funguje ihned po instalaci bez externí konfigurace. Zejména přidává Vylepšená podpora pro 8BitDo kontroléryFlyDigi a Hand Held Legend SINput, které usnadňují konzistentnější fungování mnoha gamepadů třetích stran.

Je také začleněna Drátový stojan pro ovladač Nintendo Switch 2 Pokud je SDL kompilováno s libusb, je to zajímavé pro uživatele, kteří preferují přímé připojení před bezdrátovým režimem. Na úrovni HID API se zdá, že SDL_hid_get_properties() spojuje vlastnosti SDL se zařízeními HID a vlastnost SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER umožňuje načíst handle libusb přidružený k zařízení SDL_hid_device, když bylo otevřeno pomocí libusb.

Tato vylepšení doplňují skutečnost, že SDL 3.4 obsahuje podpora pro nový Steam Controller v rámci svého základního ekosystému, což velmi dobře odpovídá jeho roli v běhovém prostředí Steam a zaměření na hraní her na Linuxu a dalších platformách.

Události, systém a obecné nástroje

Kromě grafických a vstupních aspektů zavádí SDL 3.4 řadu změn v systému událostí a obecných nástrojích, o kterých stojí za to vědět. Například SDL_EVENT_WINDOW_EXPOSED Nyní při odeslání během změny velikosti živého okna naplní pole data1 hodnotou true, což poskytuje další kontext.

Dodává ZMĚNA_HRANIC_POUŽITELNOSTI_SDL_EVENT_DISPLAY_USABLE_BOUNDSTato událost se spustí, když se změní hranice použitelné plochy (například při přesunu hlavních panelů nebo panelů). Zahrnuje také SDL_EVENT_SCREEN_KEYBOARD_SHOWN/SDL_EVENT_SCREEN_KEYBOARD_HIDDEN a dříve zmíněné události pinch, čímž poskytuje komplexnější ekosystém událostí pro scénáře dynamického uživatelského rozhraní.

Na straně zisku, SDL_HINT_MAIN_CALLBACK_RATE nyní lze nastavit jako hodnotu s plovoucí desetinnou čárkou, což poskytuje větší přesnost; SDL_AddAtomicU32() Přidává podporu pro atomické sčítání 32bitových nepodepsaných celých čísel; a SDL_GetSystemPageSize() vrací velikost systémové stránky, což je užitečné pro úlohy s nízkou úrovní paměti.

Zahrnuto také SDL_ALIGNED()Toto makro indikuje, že určitá data by měla mít specifické zarovnání, což je velmi důležité pro optimalizaci výkonu a použití instrukcí SIMD. SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER vám zároveň umožňuje definovat vlastní funkci uvolnění paměti používané funkcemi SDL_IOFromMem() a SDL_IOFromConstMem(), což vám dává větší kontrolu při integraci SDL s vašimi vlastními alokátory.

Dalším zajímavým vylepšením je podpora pro podrobný výstup protokolu Pokud je proměnná prostředí DEBUG_INVOCATION nastavena na hodnotu "1", je určena pro hloubkové ladění inicializace a chování knihovny ve složitých kontextech.

Specifická vylepšení ve Windows

Ve Windows obsahuje SDL 3.4 významné změny ovlivňující zvuk, video a vstupní systém. Jednou ze zajímavých věcí je funkce nápovědy. SDL_HINT_RENDER_DIRECT3D11_WARPToto umožňuje aktivovat WARP (softwarový rasterizátor D3D11). To je užitečné na počítačích bez kompatibilní grafické karty nebo ve virtualizovaných prostředích, kde není k dispozici přímá akcelerace, ale přesto chcete používat API.

Ovladač WASAPI využívá SDL_HINT_AUDIO_DEVICE_STREAM_ROLE Pro úpravu kategorie zvukového streamu je důležitá integrace pro konzistentní chování systému (např. herní zvuk, komunikace atd.). Také se spoléhá na SDL_HINT_AUDIO_DEVICE_RAW_STREAM, aby indikoval, zda má ovladač použít dodatečné zpracování.

Nápověda se zadává na straně klávesnice. SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTCEYSTo umožňuje zakázat určité systémové zkratky při použití nezpracovaného vstupu, což je velmi praktické pro hry, které potřebují zachytit kombinace kláves bez zásahu systému. A na úrovni API GameInput, SDL_HINT_WINDOWS_GAMEINPUT Ve výchozím nastavení je zakázáno, což snižuje potenciální konflikty v některých prostředích, dokud není explicitně nakonfigurováno.

Také se přidává SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER Získání HMONITORu spojeného s obrazovkou, což je velmi užitečné, pokud kombinujete SDL s klasickým kódem Win32 a potřebujete koordinovat okna nebo monitory.

macOS, iOS a visionOS

V systému macOS obsahuje SDL 3.4 velmi praktickou radu: SDL_HINT_MAC_STISKNĚTE_A_PODRŽTEToto nastavení určuje, zda podržení klávesy opakuje stisk klávesy nebo otevře nabídku s diakritikou. To umožňuje upravit chování klávesnice pro hry a aplikace, které vyžadují rychlé opakování kláves namísto typické nabídky s diakritikou v macOS.

Na iOS, nyní SDL podporuje okenní scényTím se řeší varování „KLIENT UIKIT VYŽADUJE AKTUALIZACI“ a knihovna se sladí s moderními postupy UIKit. Byla zavedena vlastnost SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER pro určení scény okna při vytváření okna SDL, což pomáhá správně integrovat aplikaci do okenního systému iOS.

V systému VisionOS a zařízeních, jako je Apple Vision Pro, upravuje SDL 3.4 chování oken a obnovovací frekvenci. Výchozí obnovovací frekvence je zvyšuje se na 90 Hzposkytuje plynulejší zážitek a SDL_SetWindowSize() efektivně mění velikost okna v headsetech Vision Pro, což dává větší kontrolu nad rozvržením v prostředích smíšené reality.

Linux, Wayland, KMS/DRM a Vulkan

Ve světě Linuxu přichází SDL 3.4 s mnoha novými funkcemi. V první řadě přidává atomická podpora pro KMSDRMToto zlepšuje stabilitu a synchronizaci tím, že pracuje přímo s grafickým subsystémem jádra. V souvislosti s tím umožňuje nápověda SDL_HINT_KMSDRM_ATOMIC kontrolu nad tím, zda KMSDRM bude tuto atomickou funkcionalitu používat, či nikoli.

Pro Wayland je zahrnuto následující: SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTERTato funkce umožňuje získat wl_output spojený s obrazovkou, což usnadňuje hlubokou integraci s kompozitorem. Dále byly opraveny problémy s myšmi s více než pěti tlačítky a bylo vylepšeno přesné rolování v X11, což poskytuje mnohem jemnější ovládání v aplikacích, které se na rolování silně spoléhají.

Pokud jde o Vulkan, SDL 3.4 zavádí dávkové vykreslování a další vylepšení API, jako je Vulkan, která omezují redundantní volání kreslení a zlepšují celkový výkon. Pracuje se také na logice, která detekuje Výkonnější grafický procesor Vulkan V systémech s více grafickými procesory pomáhá automatický výběr nejvhodnějšího zařízení, zejména v hybridních nebo notebookových systémech s integrovanými a dedikovanými grafickými procesory.

Dále je přidána vlastnost SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER pro konfiguraci možností Vulkanu při vytváření zařízení GPU a vlastnost SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN pro vyžadování hardwarové akcelerace při vytváření uvedeného zařízení. Na systémové úrovni je SDL také umístěn jako Sada nástrojů X11 se zavedením X11TK jako vlastní sady nástrojů X11 pro SDL.

Emscripten a používání prohlížeče

SDL 3.4 výrazně zlepšuje svou integraci s Emscripten a jeho spuštění ve webových prohlížečíchTo je klíčové, pokud chcete portovat svou hru nebo aplikaci na web, aniž byste ji museli přepisovat od nuly. Jedna z nových funkcí umožňuje oknu SDL „zaplnit dokument“, aniž by nutně muselo být na celou obrazovku.

V předchozí verzi byl zaveden SDL_HINT_EMSCRIPTEN_FILL_DOCUMENT a ve finální verzi je reorganizován podle příznaku. SDL_WINDOW_FILL_DOCUMENT a funkci SDL_SetWindowFillDocument() spolu s několika souvisejícími vlastnostmi. Mezi významné příklady patří:

  • SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING a SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING pro nastavení a dotazování ID plátna používaného SDL.
  • SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN a SDL_PROP_WINDOW_EMSCRIPTEN_FILL_DOCUMENT_BOOLEAN pro indikaci a kontrolu, zda má okno zabírat celý dokument.
  • SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING a SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING pro určení a dotazování prvku, ke kterému je propojen vstup z klávesnice.

Tyto možnosti nabízejí velmi jemnou kontrolu nad Jak se SDL integruje s DOM a plátnem?To pomáhá vyhnout se hackům a mezivrstvám při práci s Emscriptenem. Také to usnadňuje zajištění kompatibility SDL s webovými frameworky nebo složitějšími integracemi, kde je plátno pouze jednou částí stránky.

PlayStation 2 a další méně běžné platformy

I když to může být překvapivé, SDL 3.4 věnuje pozornost také veteránské platformy jako PlayStation 2Přidány nápovědy pro ovládání parametrů zobrazení: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE a SDL_HINT_PS2_GS_MODE, které umožňují upravit rozlišení, progresivní režim a obecná nastavení grafického syntetizátoru.

Z těchto detailů jasně vyplývá, že SDL zůstává velmi flexibilní možností pro domácí projekty, emulace nebo výzkum na starších platformách, s výjimkou silného zaměření na moderní počítače, mobilní zařízení a web.

Správa procesů, oprávnění kamery a metadata ELF

Na systémové úrovni SDL 3.4 přidává vlastnost SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRINGToto se používá ke konfiguraci pracovního adresáře nových procesů vytvořených z SDL. To zjednodušuje spouštění podprocesů nebo externích nástrojů z vaší SDL aplikace bez nutnosti přístupu k API operačního systému.

V oblasti fotografie, SDL_GetCameraPermissionState() nyní vrací hodnotu typu SDL_CameraPermissionState místo generického celého čísla, lepší sladění sémantiky a usnadnění správy oprávnění na mobilních a desktopových platformách.

V unixových systémech SDL obsahuje poznámky ELF, které popisují jeho nepovinná knihovní zařízení V souladu s formátem popsaným na systemd.io/ELF_DLOPEN_METADATA je myšlenka taková, že distribuce mohou tyto poznámky analyzovat a automaticky generovat závislosti balíčků pomocí nástrojů, jako je package-notes. SDL poskytuje makro SDL_ELF_NOTE_DLOPEN, aby totéž mohly dělat i ostatní knihovny a hry, což usnadňuje mnohem čistší správu závislostí.

Průběh v okně a animované kurzory

Pro zlepšení uživatelského prostředí přidává SDL 3.4 funkce určené k… zobrazit pokrok a obohatit rozhraníNapříklad funkce SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() a SDL_GetWindowProgressValue() jsou zavedeny pro zobrazení indikátorů průběhu na ikoně okna na hlavním panelu systémů Windows a Linux.

Tato funkce umožňuje uživateli vidět stav dlouhé operace (stahování, nahrávání, interní sestavení atd.), i když okno není v popředí. Je to poměrně elegantní způsob, jak poskytnout zpětnou vazbu, aniž byste museli navrhovat další HUDy.

Na druhou stranu, SDL_CreateAnimatedCursor() umožňuje vytvářet animované barevné kurzoryToto dodává hře nebo nástrojům, kde kurzor komunikuje stavy (načítání, možná akce, upozornění atd.), nádech vizuálního lesku. V kombinaci s novou nápovědou SDL_HINT_MOUSE_DPI_SCALE_CURSORS, která je nyní standardně nastavena na „0“, aby se zabránilo neočekávané změně velikosti kurzorů v prostředích s DPI škálováním, poskytuje předvídatelnější kontrolu nad vzhledem ukazatele.

Díky této sadě změn – od integrace 3D/2D GPU, nativní podpory PNG, vylepšení vstupu a zvuku až po zaměření na moderní Linux, Emscripten, VisionOS a klasické konzole – si SDL 3.4 upevňuje svou pozici jako... velmi kompletní sada nástrojů pro vývoj napříč platformamiminimalizuje externí závislosti a nabízí pevný základ pro iteraci, aniž byste museli trávit celý den laděním problémů nesouvisejících s vaším vlastním kódem.