Kilka dni temu ogłoszono wydanie nowej wersji biblioteki SDL 2.0.16 (Simple DirectMedia Layer), zaprojektowany w celu uproszczenia pisania gier i aplikacji multimedialnych. W tej nowej wersji dodano różne zmiany, wśród których wyróżniają się ulepszenia wsparcia dla Wayland, a także możliwość generowania i przechwytywania dźwięku za pomocą serwera multimedialnego Pipewire i innych rzeczy.
Dla tych, którzy nie wiedzą o bibliotece SDL, powinieneś wiedzieć, że to, udostępnia narzędzia, takie jak przyspieszane sprzętowo grafiki 2D i 3D, przetwarzanie danych wejściowych, odtwarzanie dźwięku, wyjście 3D przez OpenGL / OpenGL ES i wiele innych powiązanych operacji.
SDL jest oficjalnie kompatybilny z systemami Windows, Mac OS X, Linux, iOS i Android, chociaż obsługuje inne platformy, takie jak QNX, a także inne architektury i systemy, takie jak Sega Dreamcast, GP32, GP2X itp.
Prosta warstwa DirectMedia jest napisany w C, działa natywnie z C ++ i linki są dostępne dla kilku innych języków, w tym C# i Python, jest rozpowszechniany na licencji zlib, ta licencja pozwala na swobodne korzystanie z SDL w dowolnym oprogramowaniu.
Pomimo tego, że jest programowany w C, ma opakowania do innych języków programowania, takich jak C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python itp.
Główne nowe funkcje SDL 2.0.16
W tej nowej wersji SDL jedną z wyróżniających się nowości jest to, że poprawiono obsługę Wayland ogromnie, poza tym dodano możliwość generowania i przechwytywania dźwięku za pomocą Pipewire Media Server i Aaudio (Android), a także wsparcie dla kontrolerów gier Amazon Luna i Xbox Series X.
Kolejną zmianą, którą możemy znaleźć, jest toDodano obsługę adaptacyjnego efektu wibracji (huczeć) w Kontrolery Google Stadia i Nintendo Switch Pro podczas korzystania ze sterownika HIDAPI.
Oprócz tego Zmniejszono obciążenie procesora podczas przetwarzania połączeń SDL_WaitEvent () i SDL_WaitEventTimeout () dodano również definicję rozszerzeń SIMD kompatybilnych z platformą Elbrus.
Za część nowych funkcji które zostały zaproponowane w tej nowej wersji, wymieniono następujące elementy:
- SDL_FlashWindow () - Pozwala przyciągnąć uwagę użytkownika.
- SDL_GetAudioDeviceSpec (): służy do uzyskania informacji o preferowanym formacie audio dla określonego urządzenia.
- SDL_SetWindowAlwaysOnTop (): ma na celu dynamiczną zmianę flagi SDL_WINDOW_ALWAYS_ON_TOP (zakotwiczenie na innej zawartości) dla wybranego okna.
- SDL_SetWindowKeyboardGrab (): do przechwytywania danych wejściowych z klawiatury niezależnie od myszy.
- SDL_SoftStretchLinear (): do dwuliniowego skalowania między 32-bitowymi powierzchniami.
- SDL_UpdateNVTexture (): aktualizacja tekstur w NV12/21.
- SDL_GameControllerSendEffect () i SDL_JoystickSendEffect (): do wysyłania niestandardowych efektów do kontrolerów gier DualSense.
- SDL_GameControllerGetSensorDataRate (): aby uzyskać dane o intensywności informacji otrzymywanych z czujników kontrolerów gier PlayStation i Nintendo Switch.
- SDL_AndroidShowToast (): umożliwia wyświetlanie powiadomień świetlnych na platformie Android.
W końcu jeśli chcesz dowiedzieć się więcej na ten temat tej nowej wersji możesz sprawdzić szczegóły w poniższym linku.
Jak zainstalować prostą warstwę DirectMedia w systemie Linux?
Instalacja tej biblioteki w systemie Linux jest dość prosta, ponieważ większość dystrybucji Linuksa ma ją w swoich repozytoriach.
W przypadku Debian, Ubuntu i dystrybucje wywodzące się z nich, będziesz musiał tylko uruchomić następujące polecenia w terminalu:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Natomiast w przypadku tych, którzy są u ciebieArch Linux suarios musimy tylko uruchomić następujące:
sudo pacman -S sdl2
W przypadku tych, którzy są użytkownikami Fedora, Centos, RHEL lub dowolna dystrybucja oparta na nich, wystarczy, że uruchomią następujące polecenie:
sudo yum install SDL2 sudo yum install SDL2-devel
Dla wszystkich innych dystrybucji Linuksa, mogą wyszukać pakiet „sdl” lub „libsdl” w celu instalacji lub pobrania i skompilowania kodu źródłowego.
Robią to z:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install