The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз мультимедийной библиотеки SDL 3.4.0

01.01.2026 08:11

Представлен релиз библиотеки SDL 3.4.0 (Simple DirectMedia Layer). Библиотека нацелена на упрощение написания игр и мультимедийных приложений, и предоставляет такие возможности, как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука и вывод 3D через OpenGL, OpenGL ES, Metal, Direct3D или Vulkan. Код написан на языке Си и распространяется под лицензией Zlib. Предоставляются обвязки для использования SDL в проектах на различных языках программирования.

SDL 3.4.0 является второй значительной стабильной веткой в серии SDL 3.x - первой стабильной веткой была объявлена серия 3.2.x, а ветка 3.3.x позиционировалась как экспериментальная. Главные изменения в SDL 3.4.0 связаны с улучшением переносимости между API 3D GPU и API для двумерной отрисовки, расширением поддержки сборки в WebAssembly при помощи компилятора Emscripten, улучшению работы с графическими планшетами и цифровыми перьями, появлению встроенной поддержки формата изображений PNG.

Среди новых возможностей в SDL 3.4.0:

  • Добавлена встроенная поддержка изображений в формате PNG, для работы с которыми предложены функции SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() и SDL_SavePNG_IO(). Для определения формата (PNG или BMP) и загрузки изображений в качестве поверхностей добавлены функции SDL_LoadSurface() и SDL_LoadSurface_IO().
  • Добавлена функция SDL_RotateSurface() для создания повёрнутой копии поверхности.
  • Добавлена функция SDL_CreateAnimatedCursor() для создания цветных анимированных курсоров, а также признак SDL_HINT_MOUSE_DPI_SCALE_CURSORS для автоматического масштабирования курсоров в привязке к уровню масштабирования экрана.
  • Добавлены функции SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() и SDL_GetWindowProgressValue() для показа прогресса операции в пиктограмме приложения в панели задач.
  • Добавлены свойства для использования GPU API со старым оборудованием.
  • Добавлено свойство SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER и SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA для настройки и задействования возможностей API Vulkan при создании устройств GPU.
  • Добавлена функция SDL_GetGPUDeviceProperties() для запроса информации об GPU.
  • Добавлены функции SDL_CreateGPURenderer() и SDL_GetGPURendererDevice() для задействования GPU при 2D-отрисовке, а также SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() и SDL_DestroyGPURenderState() для задействования фрагментных шейдеров при 2D-отрисовке.
  • При 2D-отрисовке при помощи GPU реализована поддержка YUV-текстур и HDR. Добавлена поддержка текстур с палитрами, для работы с которыми добавлены функции SDL_GetTexturePalette() и SDL_SetTexturePalette(). Добавлены функции SDL_GetPixelFormatFromGPUTextureFormat() и SDL_GetGPUTextureFormatFromPixelFormat() для преобразования форматов текстур, а также параметры SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER и SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER для создания 2D-текстур из GPU-текстур. Для настройки текстур добавлены функции SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Добавлен параметр SDL_SCALEMODE_PIXELART для использования оптимизированного для пиксельной графики алгоритма масштабирования.
  • Реализованы события 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 и SDL_EVENT_AUDIO_DEVICE_ADDED, срабатывающие при изменении границ, появлении/скрытии экранной клавиатуры, экранных жестах и добавлении звукового устройства.
  • Добавлены функции SDL_PutAudioStreamDataNoCopy() и SDL_PutAudioStreamPlanarData() для более эффективной обработки звуковых потоков.
  • Добавлена поддержка игровых контроллеров Nintendo Switch 2, подключённых через USB. Расширена поддержка контроллеров 8BitDo, FlyDigi и Hand Held Legend SInput.
  • Для улучшения работы WebAssembly-приложений, собираемых при помощи компилятора Emscripten, добавлена функция SDL_SetWindowFillDocument() и реализованы параметры SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING и SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.
  • На платформе Linux реализована поддержка атомарных операций при использовании KMSDRM, активируемых при помощи свойства SDL_HINT_KMSDRM_ATOMIC. Добавлен параметр SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER для запроса устройства вывода wl_output, ассоциированного с экраном, в окружениях на базе Wayland.


  1. Главная ссылка к новости (https://discourse.libsdl.org/t...)
  2. OpenNews: Релиз мультимедийной библиотеки SDL 3
  3. OpenNews: Проект SDL3Lite развивает версию библиотеки SDL3 с поддержкой старых систем
  4. OpenNews: В библиотеке SDL3 отменяют переход на Wayland по умолчанию (отмена отложена)
  5. OpenNews: Первый выпуск sdl12-compat, слоя совместимости с SDL 1.2, работающего через SDL 2
  6. OpenNews: Мультимедийная библиотека SDL переходит на использование Wayland по умолчанию
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64537-sdl
Ключевые слова: sdl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:35, 01/01/2026 [ответить]  
  • +1 +/
    Неплохой релиз. Жаль, что поддержку png впихнули, но это связано с поддержкой работы с иконками в трее, так что ладно
     
     
  • 2.2, Аноним (2), 10:58, 01/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что плохого в пнг?
     
  • 2.5, Аноним (5), 11:57, 01/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сильно жаль? Прям вот очень? Ок, держи нас в курсе. А то формат-то офигенный, а ты так прям весь расстроился.
     

  • 1.3, Мемоним (?), 10:58, 01/01/2026 [ответить]  
  • +/
    > SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA

    Прям напомнило ОченьДлиннаяФункцияНепонятногоНазначенияИмениБорисаНуралиева()

     
     
  • 2.7, Аноним (7), 12:57, 01/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    хотели так SDLPGPUDEVCVULREHARDACCBOOL?
     

  • 1.4, Аноним (4), 11:36, 01/01/2026 [ответить]  
  • –2 +/
    В некоторых прогах до сих пор сидят на 1.0 из за косяков 2.0, а тут 3.0. Я на нем еще ничего напсианного не видно.
     
     
  • 2.6, Аноним (6), 12:56, 01/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это нормально, только бы не дропали старые версии, переписывать на новое может оказаться некому.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру