Kuburitswa kweSDL 3.4.0 multimedia raibhurari

SDL 3.4.0 (Simple DirectMedia Layer) yava kuwanikwa. Raibhurari iyi yakagadzirirwa kurerutsa kugadzirwa kwemitambo nemapurogiramu emultimedia, ichipa zvinhu zvakaita se hardware-accelerated 2D ne 3D graphics, input processing, audio playback, uye 3D rendering kuburikidza ne OpenGL, OpenGL ES, Metal, Direct3D, uye Vulkan. Kodhi iyi yakanyorwa muC uye ine rezinesi pasi peZlib license. Zvisungo zvinopihwa pakushandisa SDL mumapurojekiti akanyorwa mumitauro yakasiyana-siyana yekuronga.

SDL 3.4.0 ndiyo bazi rechipiri guru rakagadzikana muSDL 3.x series—bazi rekutanga rakagadzikana rakaziviswa se3.2.x, nepo 3.3.x rakaiswa seyekuyedza. Shanduko huru muSDL 3.4.0 dzinosanganisira kuvandudzwa kwekufambiswa pakati pe3D GPU API ne2D rendering API, rutsigiro rwakawedzerwa rweWebAssambly compilation uchishandisa Emscripten compiler, rutsigiro rwakawedzerwa rwemapiritsi emifananidzo nemapeni edhijitari, uye rutsigiro rwechivanhu rwePNG image format.

Zvinhu zvitsva zviri muSDL 3.4.0 zvinosanganisira:

  • Rutsigiro rwakavakirwa mukati rwemifananidzo yePNG rwawedzerwa, nemabasa eSDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG(), uye SDL_SavePNG_IO() aripo ekushanda nawo. Mabasa eSDL_LoadSurface() uye SDL_LoadSurface_IO() akawedzerwa kuti aone fomati (PNG kana BMP) uye kurodha mifananidzo senzvimbo.
  • Yakawedzera basa reSDL_RotateSurface() kuti igadzire kopi inotenderedzwa yenzvimbo.
  • Yakawedzera basa reSDL_CreateAnimatedCursor() rekugadzira macursor ane mavara, pamwe chete nemureza weSDL_HINT_MOUSE_DPI_SCALE_CURSORS wekuwedzera otomatiki macursor zvichienderana nezinga rezoom yechidzitiro.
  • Yakawedzera mabasa eSDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState(), uye SDL_GetWindowProgressValue() kuratidza kufambira mberi kwebasa muchiratidzo chebasa reapplication.
  • Yakawedzera zvinhu zvekushandisa GPU API nehardware yekare.
  • Yakawedzera zvinhu zveSDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER uye SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA kuti igadzirise uye igonese maficha eVulkan API pakugadzira zvishandiso zveGPU.
  • Yakawedzera basa reSDL_GetGPUDeviceProperties() kuti ibvunze ruzivo rweGPU.
  • Yakawedzera mabasa eSDL_CreateGPURenderer() uye SDL_GetGPURendererDevice() kuti ikwanise kushandisa GPU ye2D rendering, pamwe neSDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState(), uye SDL_DestroyGPURenderState() kuti ikwanise kushandisa fragment shaders dze2D rendering.
  • Rutsigiro rwema YUV textures ne HDR rwava kuwanikwa pa 2D GPU rendering. Rutsigiro rwema textures ane ma palettes rwawedzerwa, ne SDL_GetTexturePalette() uye SDL_SetTexturePalette(). Ma function e SDL_GetPixelFormatFromGPUTextureFormat() uye SDL_GetGPUTextureFormatFromPixelFormat() akawedzerwa pakushandura ma texture formats, pamwe ne SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER uye SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER parameters dzekugadzira ma textures e2D kubva ku GPU textures. Kuti ugadzirise ma textures, ma function e SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode() akawedzerwa.
  • Yakawedzera SDL_SCALEMODE_PIXELART parameter kuti ishandise algorithm ye pixel art optimized scaling.
  • Zviitiko zveSDL_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 uye SDL_EVENT_AUDIO_DEVICE_ADDED zvinoitwa, izvo zvinotanga kana miganhu ichichinja, kuratidza/kuvanza kiyibhodhi iri pachiratidziro, zviito zviri pachiratidziro uye kuwedzera mudziyo wekuteerera.
  • Yakawedzerwa mabasa eSDL_PutAudioStreamDataNoCopy() uye SDL_PutAudioStreamPlanarData() kuti ma audio streams agadziriswe zviri nani.
  • Rutsigiro rwakawedzerwa rwevanodzora mitambo yeNintendo Switch 2 vakabatana neUSB. Rutsigiro rwakawedzerwa rwevanodzora ve8BitDo, FlyDigi, uye Hand Held Legend SInput.
  • Kuti zvivandudzwe mashandiro emapurogiramu eWebAssambly akavakwa uchishandisa Emscripten compiler, basa reSDL_SetWindowFillDocument() rawedzerwa uye maparameter eSDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING, uye maparameter eSDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING ashandiswa.
  • Pachikuva Linux Rutsigiro rwekushandisa maatomu rwakaitwa pakushandisa KMSDRM, rwakavhurwa uchishandisa SDL_HINT_KMSDRM_ATOMIC property. Yakawedzera SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER parameter kuti ibvunze wl_output output device ine chekuita nescreen munzvimbo dziri muWayland.

Source: opennet.ru

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster