Wydanie biblioteki multimedialnej SDL 3.4.0

SDL 3.4.0 (Simple DirectMedia Layer) jest już dostępny. Ta biblioteka została zaprojektowana z myślą o uproszczeniu tworzenia gier i aplikacji multimedialnych, oferując takie funkcje, jak sprzętowa akceleracja grafiki 2D i 3D, przetwarzanie danych wejściowych, odtwarzanie dźwięku oraz renderowanie 3D za pośrednictwem OpenGL, OpenGL ES, Metal, Direct3D i Vulkan. Kod jest napisany w języku C i objęty licencją Zlib. Dostępne są powiązania umożliwiające korzystanie z SDL w projektach napisanych w różnych językach programowania.

SDL 3.4.0 to druga główna stabilna gałąź w serii SDL 3.x – pierwsza stabilna gałąź została ogłoszona jako 3.2.x, a 3.3.x jako eksperymentalna. Główne zmiany w SDL 3.4.0 obejmują lepszą przenośność między API 3D GPU a API renderowania 2D, rozszerzone wsparcie dla kompilacji WebAssambly z wykorzystaniem kompilatora Emscripten, ulepszoną obsługę tabletów graficznych i piór cyfrowych oraz natywną obsługę formatu obrazu PNG.

Nowe funkcje w SDL 3.4.0 obejmują:

  • Dodano wbudowaną obsługę obrazów PNG, a funkcje SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() i SDL_SavePNG_IO() umożliwiają pracę z nimi. Dodano funkcje SDL_LoadSurface() i SDL_LoadSurface_IO() do określania formatu (PNG lub BMP) i ładowania obrazów jako powierzchni.
  • Dodano funkcję SDL_RotateSurface() umożliwiającą utworzenie obróconej kopii powierzchni.
  • Dodano funkcję SDL_CreateAnimatedCursor() umożliwiającą tworzenie kolorowych animowanych kursorów oraz flagę SDL_HINT_MOUSE_DPI_SCALE_CURSORS umożliwiającą automatyczne skalowanie kursorów na podstawie poziomu powiększenia ekranu.
  • Dodano funkcje SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() i SDL_GetWindowProgressValue(), aby wyświetlać postęp operacji na ikonie paska zadań aplikacji.
  • Dodano właściwości umożliwiające korzystanie z interfejsu API GPU ze starszym sprzętem.
  • Dodano właściwości SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER i SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA umożliwiające konfigurację i włączenie funkcji API Vulkan podczas tworzenia urządzeń GPU.
  • Dodano funkcję SDL_GetGPUDeviceProperties() umożliwiającą zapytanie o informacje dotyczące GPU.
  • Dodano funkcje SDL_CreateGPURenderer() i SDL_GetGPURendererDevice() umożliwiające procesorowi GPU renderowanie 2D, a także funkcje SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() i SDL_DestroyGPURenderState() umożliwiające cieniowanie fragmentów w celu renderowania 2D.
  • Obsługa tekstur YUV i HDR jest teraz dostępna dla renderowania 2D na GPU. Dodano obsługę tekstur z paletami za pomocą funkcji SDL_GetTexturePalette() i SDL_SetTexturePalette(). Dodano funkcje SDL_GetPixelFormatFromGPUTextureFormat() i SDL_GetGPUTextureFormatFromPixelFormat() do konwersji formatów tekstur, a także parametry SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER i SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER do tworzenia tekstur 2D z tekstur GPU. Aby skonfigurować tekstury, dodano funkcje SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Dodano parametr SDL_SCALEMODE_PIXELART w celu wykorzystania algorytmu skalowania zoptymalizowanego pod kątem grafiki pikselowej.
  • Zaimplementowano zdarzenia 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 i SDL_EVENT_AUDIO_DEVICE_ADDED, które są wyzwalane podczas zmiany granic, wyświetlania/ukrywania klawiatury ekranowej, wykonywania gestów ekranowych i dodawania urządzenia audio.
  • Dodano funkcje SDL_PutAudioStreamDataNoCopy() i SDL_PutAudioStreamPlanarData() w celu wydajniejszego przetwarzania strumieni audio.
  • Dodano obsługę kontrolerów gier Nintendo Switch 2 podłączanych przez USB. Rozszerzono obsługę kontrolerów 8BitDo, FlyDigi i Hand Held Legend SInput.
  • Aby zwiększyć wydajność aplikacji WebAssambly utworzonych przy użyciu kompilatora Emscripten, dodano funkcję SDL_SetWindowFillDocument() oraz zaimplementowano parametry SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING i SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.
  • Platforma Linux Wprowadzono obsługę operacji atomowych podczas korzystania z KMSDRM, aktywowaną za pomocą właściwości SDL_HINT_KMSDRM_ATOMIC. Dodano parametr SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER, który umożliwia sprawdzenie urządzenia wyjściowego wl_output powiązanego z ekranem w środowiskach opartych na Wayland.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster