{"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\/fr\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0","title":{"rendered":"Sortie de la biblioth\u00e8que multim\u00e9dia SDL 3.4.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La biblioth\u00e8que SDL 3.4.0 (Simple DirectMedia Layer) a \u00e9t\u00e9 publi\u00e9e. Cette biblioth\u00e8que est con\u00e7ue pour faciliter l'\u00e9criture de jeux et d'applications multim\u00e9dias, offrant des fonctionnalit\u00e9s telles que l'affichage 2D et 3D acc\u00e9l\u00e9r\u00e9 par mat\u00e9riel, la gestion des entr\u00e9es, la lecture audio et le rendu 3D via OpenGL, OpenGL ES, Metal, Direct3D ou Vulkan. Le code est \u00e9crit en C et est distribu\u00e9 sous la licence Zlib. Des liasses sont fournies pour utiliser SDL dans des projets dans divers langages de programmation.     <\/p>\n<p>SDL 3.4.0 est la deuxi\u00e8me branche stable majeure de la s\u00e9rie SDL 3.x \u2014 la premi\u00e8re branche stable \u00e9tant la s\u00e9rie 3.2.x, tandis que la branche 3.3.x \u00e9tait positionn\u00e9e comme exp\u00e9rimentale. Les principales am\u00e9liorations de SDL 3.4.0 sont li\u00e9es \u00e0 la portabilit\u00e9 am\u00e9lior\u00e9e entre les API GPU 3D et les API de rendu 2D, \u00e0 l'expansion du support de la compilation en WebAssembly avec le compilateur Emscripten, \u00e0 l'am\u00e9lioration de la prise en charge des tablettes graphiques et des stylets num\u00e9riques, ainsi qu'\u00e0 l'ajout de la prise en charge int\u00e9gr\u00e9e du format d'image PNG.        <\/p>\n<p>Parmi les nouvelles fonctionnalit\u00e9s de SDL 3.4.0 :  <\/p>\n<ul>\n<li class=\"l\"> Un support natif pour les images au format PNG a \u00e9t\u00e9 ajout\u00e9, avec des fonctions SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() et SDL_SavePNG_IO() pour travailler avec. Les fonctions SDL_LoadSurface() et SDL_LoadSurface_IO() ont \u00e9t\u00e9 ajout\u00e9es pour d\u00e9terminer le format (PNG ou BMP) et charger des images sous forme de surfaces.\n<li class=\"l\"> La fonction SDL_RotateSurface() a \u00e9t\u00e9 ajout\u00e9e pour cr\u00e9er une copie tourn\u00e9e d'une surface.\n<li class=\"l\"> La fonction SDL_CreateAnimatedCursor() a \u00e9t\u00e9 ajout\u00e9e pour cr\u00e9er des curseurs anim\u00e9s color\u00e9s, ainsi qu'un indicateur SDL_HINT_MOUSE_DPI_SCALE_CURSORS pour le redimensionnement automatique des curseurs en fonction du niveau d'\u00e9chelle de l'\u00e9cran.\n<li class=\"l\"> Les fonctions SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() et SDL_GetWindowProgressValue() ont \u00e9t\u00e9 ajout\u00e9es pour afficher le progr\u00e8s des op\u00e9rations dans l'ic\u00f4ne de l'application dans la barre des t\u00e2ches.\n<li class=\"l\"> Des propri\u00e9t\u00e9s ont \u00e9t\u00e9 ajout\u00e9es pour permettre l'utilisation des API GPU avec du mat\u00e9riel ancien.\n<li class=\"l\"> La propri\u00e9t\u00e9 SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER et SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA ont \u00e9t\u00e9 ajout\u00e9es pour configurer et activer les capacit\u00e9s de l'API Vulkan lors de la cr\u00e9ation d'appareils GPU.\n<li class=\"l\"> La fonction SDL_GetGPUDeviceProperties() a \u00e9t\u00e9 ajout\u00e9e pour demander des informations sur le GPU.\n<li class=\"l\"> Les fonctions SDL_CreateGPURenderer() et SDL_GetGPURendererDevice() ont \u00e9t\u00e9 ajout\u00e9es pour activer le GPU lors du rendu 2D, ainsi que SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() et SDL_DestroyGPURenderState() pour activer les shaders de fragment lors du rendu 2D.\n<li class=\"l\">  Avec le rendu 2D par le biais du GPU, la prise en charge des textures YUV et HDR a \u00e9t\u00e9 mise en \u0153uvre. La prise en charge des textures avec palettes a \u00e9t\u00e9 ajout\u00e9e, pour lesquelles les fonctions SDL_GetTexturePalette() et SDL_SetTexturePalette() ont \u00e9t\u00e9 int\u00e9gr\u00e9es. Les fonctions SDL_GetPixelFormatFromGPUTextureFormat() et SDL_GetGPUTextureFormatFromPixelFormat() ont \u00e9t\u00e9 ajout\u00e9es pour la conversion des formats de texture, ainsi que les param\u00e8tres SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER et SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER pour cr\u00e9er des textures 2D \u00e0 partir de textures GPU. Des fonctions ont \u00e9t\u00e9 ajout\u00e9es pour configurer les textures : SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode() et SDL_SetRenderTextureAddressMode().\n<li class=\"l\"> Le param\u00e8tre SDL_SCALEMODE_PIXELART a \u00e9t\u00e9 ajout\u00e9 pour utiliser un algorithme de mise \u00e0 l'\u00e9chelle optimis\u00e9 pour les graphismes pixelis\u00e9s.\n<li class=\"l\"> Des \u00e9v\u00e9nements tels que 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 et SDL_EVENT_AUDIO_DEVICE_ADDED ont \u00e9t\u00e9 mis en \u0153uvre, d\u00e9clench\u00e9s lors de changements de limites, d'apparition \/ d'occultation du clavier \u00e0 l'\u00e9cran, de gestes \u00e0 l'\u00e9cran et d'ajout d'un appareil audio.\n<li class=\"l\"> Les fonctions SDL_PutAudioStreamDataNoCopy() et SDL_PutAudioStreamPlanarData() ont \u00e9t\u00e9 ajout\u00e9es pour un traitement plus efficace des flux audio.\n<li class=\"l\"> La prise en charge des contr\u00f4leurs de jeux Nintendo Switch 2 connect\u00e9s via USB a \u00e9t\u00e9 ajout\u00e9e. La prise en charge des contr\u00f4leurs 8BitDo, FlyDigi et Hand Held Legend SInput a \u00e9t\u00e9 \u00e9tendue.\n<li class=\"l\"> Pour am\u00e9liorer le fonctionnement des applications WebAssembly compil\u00e9es \u00e0 l'aide du compilateur Emscripten, la fonction SDL_SetWindowFillDocument() a \u00e9t\u00e9 ajout\u00e9e, et les param\u00e8tres SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING et SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING ont \u00e9t\u00e9 mis en \u0153uvre.\n<li class=\"l\"> Sur la plateforme Linux, la prise en charge des op\u00e9rations atomiques lors de l'utilisation de KMSDRM a \u00e9t\u00e9 mise en \u0153uvre, activ\u00e9e par l'interm\u00e9diaire de la propri\u00e9t\u00e9 SDL_HINT_KMSDRM_ATOMIC. Le param\u00e8tre SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER a \u00e9t\u00e9 ajout\u00e9 pour demander le p\u00e9riph\u00e9rique de sortie wl_output associ\u00e9 \u00e0 l'\u00e9cran dans des environnements bas\u00e9s sur Wayland.      <\/ul>\n<p>Source : <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.2 - 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\/fr\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Sortie de la biblioth\u00e8que multim\u00e9dia SDL 3.4.0 | ProHoster","description":"La sortie de la biblioth\u00e8que SDL 3.4.0 (Simple DirectMedia Layer) a \u00e9t\u00e9 annonc\u00e9e.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-multimedijnoj-biblioteki-sdl-3-4-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/153256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=153256"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/153256\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=153256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=153256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=153256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}