{"id":153256,"date":"2026-01-01T11:12:28","date_gmt":"2026-01-01T09:12:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-multimedijnoj-biblioteki-sdl-3-4-0"},"modified":"2026-01-01T11:12:28","modified_gmt":"2026-01-01T09:12:28","slug":"reliz-multimedijnoj-biblioteki-sdl-3-4-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0","title":{"rendered":"Rilascio della libreria multimediale SDL 3.4.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stata presentata la release della libreria SDL 3.4.0 (Simple DirectMedia Layer). Questa libreria \u00e8 progettata per semplificare la scrittura di giochi e applicazioni multimediali, offrendo funzionalit\u00e0 come l'output grafico 2D e 3D accelerato hardware, gestione degli input, riproduzione audio e output 3D tramite OpenGL, OpenGL ES, Metal, Direct3D o Vulkan. Il codice \u00e8 scritto in C e distribuito sotto licenza Zlib. Vengono fornite delle wrapper per utilizzare SDL in progetti in diversi linguaggi di programmazione.     <\/p>\n<p>SDL 3.4.0 \u00e8 il secondo importante ramo stabile della serie SDL 3.x \u2014 il primo ramo stabile era rappresentato dalla serie 3.2.x, mentre il ramo 3.3.x era posizionato come sperimentale. Le principali novit\u00e0 in SDL 3.4.0 riguardano il miglioramento della portabilit\u00e0 tra le API GPU 3D e le API per il rendering bidimensionale, l'espansione del supporto per la compilazione in WebAssembly tramite il compilatore Emscripten, il miglioramento della gestione delle tavole grafiche e delle penne digitali, e l'introduzione del supporto nativo per il formato immagini PNG.        <\/p>\n<p>Tra le nuove funzionalit\u00e0 in SDL 3.4.0:  <\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto nativo per le immagini in formato PNG, per le quali sono state proposte le funzioni SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() e SDL_SavePNG_IO(). Per determinare il formato (PNG o BMP) e caricare le immagini come superfici, sono state aggiunte le funzioni SDL_LoadSurface() e SDL_LoadSurface_IO().\n<li class=\"l\"> \u00c8 stata aggiunta la funzione SDL_RotateSurface() per creare una copia ruotata della superficie.\n<li class=\"l\"> \u00c8 stata aggiunta la funzione SDL_CreateAnimatedCursor() per creare cursori animati colorati, oltre alla variabile SDL_HINT_MOUSE_DPI_SCALE_CURSORS per la scalabilit\u00e0 automatica dei cursori in relazione al livello di ridimensionamento dello schermo.\n<li class=\"l\"> Sono state aggiunte le funzioni SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() e SDL_GetWindowProgressValue() per mostrare il progresso di un'operazione nell'icona dell'app nella barra delle applicazioni.\n<li class=\"l\"> Sono state aggiunte propriet\u00e0 per l'uso delle API GPU con hardware pi\u00f9 datato.\n<li class=\"l\"> \u00c8 stata aggiunta la propriet\u00e0 SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER e SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA per configurare e attivare le funzionalit\u00e0 dell'API Vulkan durante la creazione dei dispositivi GPU.\n<li class=\"l\"> \u00c8 stata aggiunta la funzione SDL_GetGPUDeviceProperties() per richiedere informazioni sulla GPU.\n<li class=\"l\"> Sono state aggiunte le funzioni SDL_CreateGPURenderer() e SDL_GetGPURendererDevice() per sfruttare la GPU nel rendering 2D, oltre a SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() e SDL_DestroyGPURenderState() per utilizzare gli shader frammentali nel rendering 2D.\n<li class=\"l\">  Nella 2D-rappresentazione tramite GPU \u00e8 stata implementata il supporto per texture YUV e HDR. \u00c8 stato aggiunto il supporto per texture con palette, per cui sono state aggiunte le funzioni SDL_GetTexturePalette() e SDL_SetTexturePalette(). Sono state aggiunte le funzioni SDL_GetPixelFormatFromGPUTextureFormat() e SDL_GetGPUTextureFormatFromPixelFormat() per la conversione dei formati delle texture, cos\u00ec come i parametri SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER e SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER per la creazione di texture 2D a partire da texture GPU. Sono state aggiunte funzioni per la configurazione delle texture: SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().\n<li class=\"l\"> \u00c8 stato aggiunto il parametro SDL_SCALEMODE_PIXELART per utilizzare un algoritmo di scaling ottimizzato per la grafica pixelata.\n<li class=\"l\"> Sono stati implementati eventi SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED, SDL_EVENT_SCREEN_KEYBOARD_SHOWN, SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE, SDL_EVENT_PINCH_END e SDL_EVENT_AUDIO_DEVICE_ADDED, che si attivano al cambiamento dei confini, alla comparsa\/nascita della tastiera su schermo, ai gesti sullo schermo e all'aggiunta di un dispositivo audio.\n<li class=\"l\"> Sono state aggiunte le funzioni SDL_PutAudioStreamDataNoCopy() e SDL_PutAudioStreamPlanarData() per un'elaborazione pi\u00f9 efficiente dei flussi audio.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per i controller di gioco Nintendo Switch 2 collegati via USB. \u00c8 stato ampliato il supporto per i controller 8BitDo, FlyDigi e Hand Held Legend SInput.\n<li class=\"l\"> Per migliorare il funzionamento delle applicazioni WebAssembly compilate con il compilatore Emscripten, \u00e8 stata aggiunta la funzione SDL_SetWindowFillDocument() e sono stati implementati i parametri SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING e SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.\n<li class=\"l\"> Sulla piattaforma Linux \u00e8 stato implementato il supporto per operazioni atomiche utilizzando KMSDRM, attivabili tramite la propriet\u00e0 SDL_HINT_KMSDRM_ATOMIC. \u00c8 stato aggiunto il parametro SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER per richiedere il dispositivo di output wl_output associato allo schermo in ambienti basati su Wayland.      <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64537\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 (Simple DirectMedia Layer). \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438\u0433\u0440 \u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e-\u0443\u0441\u043a\u043e\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 2D- \u0438 3D-\u0433\u0440\u0430\u0444\u0438\u043a\u0438, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0432\u043e\u0434\u0430, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u044b\u0432\u043e\u0434 3D \u0447\u0435\u0440\u0435\u0437 OpenGL, OpenGL ES, Metal, Direct3D \u0438\u043b\u0438 Vulkan. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Zlib. \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u0432\u044f\u0437\u043a\u0438 \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-153256","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 (Simple DirectMedia Layer).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 (Simple DirectMedia Layer).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-01-01T09:12:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-01-01T09:12:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Rilascio della libreria multimediale SDL 3.4.0 | ProHoster","description":"\u00c8 stata presentata la versione della libreria SDL 3.4.0 (Simple DirectMedia Layer).","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 SDL 3.4.0 (Simple DirectMedia Layer).","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-01-01T09:12:28+00:00","article:modified_time":"2026-01-01T09:12:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"153256","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 13:56:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-20 13:56:20","updated":"2026-01-20 13:56:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/153256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=153256"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/153256\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=153256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=153256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=153256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}