ten wydanie nowej wersji SDL 2.0.22, wersja, w której wprowadzono różne ulepszenia kompatybilności z Waylandem, a także różne ulepszenia i nie tylko.
Dla tych, którzy nie są zaznajomieni z biblioteką SDL, powinniście wiedzieć, że 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 analogiczne do DirectX, do czego można by argumentować, że odpowiednikiem DirectX jest OpenGL. DirectX współpracuje również z urządzeniami wejściowymi i dźwiękiem. Kiedy Loki Software zaczęło przenosić gry AAA na Linuksa, zastąpiło Direct3D OpenGL i nie było zamiennika na nic innego, a ponieważ obecnie trudno jest pisać aplikacje „X”, nawet z WinAPI na API X11, ale z DirectDraw na WinAPI, który już jest problem, tak narodziło się SDL.
Główne nowe funkcje SDL 2.0.22
W tej nowej wersji, która jest prezentowana, Poprawa kompatybilności protokołu Wayland, więc początkowo planowano domyślnie przełączyć się na korzystanie z protokołu Waylandda w środowiskach zapewniających jednoczesną obsługę Wayland i X11, ale z powodu problemów związane z Waylandem w grach i sterownikach NVIDIA, zdecydowano o odroczeniu przejścia (W środowiskach Wayland z komponentem XWayland dane wyjściowe są nadal używane przy użyciu protokołu X11.)
Aby użyć Waylanda, zmienna środowiskowa musi być ustawiona „SDL_VIDEODRIVER=wayland” przed uruchomieniem aplikacji lub dodaj funkcję „SDL_SetHint(SDL_HINT_VIDEODRIVER, „wayland,x11”)” do kodu przed wywołaniem SDL_Init(). Kompilacja z Waylandem wymaga przynajmniej libwayland-client 1.18.0.
Kolejną wyróżniającą się zmianą jest to dodano zestaw funkcji do manipulowania prostokątnymi obszarami (określanie występowania punktów, usuwanie, porównywanie, łączenie itp.), operowanie współrzędnymi i rozmiarami na podstawie liczb zmiennoprzecinkowych.
W systemie Linux dodano flagę SDL_HINT_X11_WINDOW_TYPE aby ustawić parametr _NET_WM_WINDOW_TYPE w systemie Windows, a także dodał flagę SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR dla Linuksa, aby używać libdecor z serwerami kompozytowymi obsługującymi xdg-decoration.
W systemie Android funkcja SDL_AndroidSendMessage() jest zaimplementowana w celu wysłania dowolnego polecenia do kontrolera Java SDL.
Z innych zmian które wyróżniają się:
- Dodano flagę SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE, aby umożliwić dostarczanie zdarzenia SDL_QUIT po zamknięciu ostatniego okna aplikacji.
- Dodano cechę SDL_HINT_JOYSTICK_ROG_CHAKRAM, aby obsługiwać mysz ROG Chakram jak joystick.
Dodano funkcję SDL_RenderGetWindow(), aby uzyskać okno powiązane z rendererem SDL. - Dodano funkcję SDL_IsTextInputShown(), aby sprawdzić, czy wyświetlany jest obszar wprowadzania tekstu.
- Dodano funkcję SDL_ClearComposition(), aby wyczyścić obszar wprowadzania tekstu bez wyłączania metody wprowadzania (IME).
- Dodano zdarzenie SDL_TEXTEDITING_EXT do obsługi długich obszarów wprowadzania tekstu i flagę SDL_HINT_IME_SUPPORT_EXTENDED_TEXT, aby włączyć to zdarzenie.
- Dodano flagę SDL_HINT_MOUSE_RELATIVE_MODE_CENTER, aby włączyć ograniczenie myszy tylko do środka okna zamiast do całego okna, gdy włączony jest tryb względny.
- Włączono automatyczne przechwytywanie myszy podczas klikania przycisków myszy. Proponuje się wyłączenie atrybutu SDL_HINT_MOUSE_AUTO_CAPTURE.
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