SDL 3.4.0 мультимедиялык китепканасынын чыгарылышы

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

SDL 3.4.0 - SDL 3.x сериясындагы экинчи негизги туруктуу бутак — биринчи туруктуу бутак 3.2.x деп жарыяланган, ал эми 3.3.x эксперименталдык катары жайгаштырылган. SDL 3.4.0 версиясындагы негизги өзгөрүүлөргө 3D GPU API менен 2D рендеринг API ортосундагы жакшыртылган портативдүүлүк, Emscripten компиляторун колдонуп WebAssambly компиляциясын кеңейтилген колдоо, графикалык планшеттер жана санарип калемдер үчүн жакшыртылган колдоо жана 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 колдонуу үчүн касиеттер кошулду.
  • GPU түзмөктөрүн түзүүдө Vulkan API функцияларын конфигурациялоо жана иштетүү үчүн SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER жана SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA касиеттери кошулду.
  • GPU маалыматын суроо үчүн SDL_GetGPUDeviceProperties() функциясы кошулду.
  • 2D рендеринг үчүн GPU'ну иштетүү үчүн SDL_CreateGPURenderer() жана SDL_GetGPURendererDevice() функциялары, ошондой эле 2D рендеринг үчүн фрагмент шейдерлерин иштетүү үчүн SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() жана SDL_DestroyGPURenderState() функциялары кошулду.
  • YUV текстураларын жана HDRди колдоо эми 2D GPU рендеринги үчүн жеткиликтүү. SDL_GetTexturePalette() жана SDL_SetTexturePalette() функциялары менен палитралары бар текстураларды колдоо кошулду. Текстура форматтарын конвертациялоо үчүн SDL_GetPixelFormatFromGPUTextureFormat() жана SDL_GetGPUTextureFormatFromPixelFormat() функциялары, ошондой эле GPU текстураларынан 2D текстураларды түзүү үчүн SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER жана SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER параметрлери кошулду. Текстураларды конфигурациялоо үчүн 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() функциялары кошулду.
  • USB аркылуу туташкан Nintendo Switch 2 оюн контроллерлерин колдоо кошулду. 8BitDo, FlyDigi жана Hand Held Legend SInput контроллерлерин колдоо кеңейтилди.
  • Emscripten компиляторунун жардамы менен түзүлгөн WebAssambly тиркемелеринин иштешин жакшыртуу үчүн 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 касиети аркылуу иштетилген. Wayland негизиндеги чөйрөлөрдө экран менен байланышкан wl_output чыгаруу түзмөгүнө суроо-талап жөнөтүү үчүн SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER параметри кошулган.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster