SDL 3.2: pojawia siÄ™ pierwsza oficjalna stabilna wersja z ulepszeniami Waylanda, nowymi interfejsami API i nie tylko

SDL to zestaw bibliotek opracowanych w języku programowania C, które zapewniają podstawowe funkcje do wykonywania operacji multimedialnych (audio i wideo), a także ładowania i zarządzania obrazami.

Ostatnio ogłoszono wydanie SDL 3.2, która jest prezentowana jako pierwsza stabilna wersja gałęzi SDL 3 i wprowadziła ważne ulepszenia, nowe funkcjonalności, dostosowania, API, poprawki i wiele więcej.

Ci, którzy nie znają biblioteki SDL, powinni wiedzieć, że zapewnia ona takie narzędzia, jak przyspieszane sprzętowo wyjście grafiki 2D i 3D, przetwarzanie sygnału wejściowego, odtwarzanie dźwięku, wyjście 3D poprzez OpenGL/OpenGL ES i wiele innych powiązanych operacji.

Główne nowe funkcje SDL 3.2

W SDL 3.2 jest to podświetlone Ulepszone wsparcie dla Waylanad, to teraz Jest domyślnie aktywowany w systemach oferujących kompatybilność zarówno z Waylandem, jak i X11, o ile obsługują rozszerzenia fifo-v1 i commit-timing-v1. Domyślnie priorytetem jest również użycie serwera multimediów PipeWire, uważanego za bardziej wydajny niż PulseAudio. Dodatkowo dodano możliwość przechwytywania obrazu z kamer internetowych, jeśli dostępny jest PipeWire.

Kolejną nowością jest Dodano obsługę tabletów graficznych i piór cyfrowych, wraz ze zoptymalizowaną obsługą wyświetlaczy DPI. Podobnie zaimplementowano zarządzanie przestrzenią kolorów, co pozwala na pracę z wieloma konfiguracjami i zapewnia wstępną obsługę HDR.

W zakresie ulepszeń dźwięku, W SDL 3.2 kod został całkowicie przeprojektowany, wprowadzenie nowych narzędzi do zarządzania logicznymi urządzeniami audio, co ułatwia współpracę różnych części programu z niezależnymi urządzeniami. Dodatkowo dodano funkcjonalność do pracy ze strumieniami audio, przeprowadzania konwersji, dostosowywania częstotliwości próbkowania, miksowania dźwięków i zarządzania buforowaniem, wraz z możliwością modyfikowania wysokości i głośności. Wreszcie, zautomatyzowane zostało rozpoznawanie podłączonych i odłączonych urządzeń dźwiękowych oraz dynamiczne zarządzanie domyślnym urządzeniem dźwiękowym.

Kolejny z najbardziej godnych uwagi dodatków to włączenie backendu do API renderowania 2D, co pozwala wykorzystać moc Vulkana zarówno do renderowania, jak i manipulowania powierzchniami przy użyciu tego interfejsu API. Dodatkowo dokonano gruntownego oczyszczenia funkcji uznawanych za przestarzałe, takich jak obsługa OpenGL ES 1.0 i DirectFB, wraz z usunięciem obsługi starszych platform, takich jak QNX, Pandora, WinRT i OS/2.

SDL 3.2 wprowadza także możliwość konstruowania programów za pomocą wywołania zwrotnego i definiowania pętli przetwarzania zdarzeń bezpośrednio w funkcji głównej kodu. Ponadto, si wdrożyliśmy zmiany w APZrywam z dotychczasową kompatybilnością, ale szukam większej spójności poprzez ujednolicenie zasad nazewnictwa we wszystkich podsystemach.

W obrębie nowe narzędzia, wyróżnij kilka interfejsów API zaprojektowanych w celu zaspokojenia różnych potrzeb. Między nimi:

  • GPU API umożliwia wieloplatformowy dostÄ™p do funkcji renderowania 3D, podczas gdy Dialog API uÅ‚atwia wybieranie, otwieranie i zapisywanie plików i katalogów.
  • Interfejs API systemu plików dodaje obsÅ‚ugÄ™ zarzÄ…dzania katalogami i wyszukiwania plików, podczas gdy interfejs API przechowywania zapewnia abstrakcyjny interfejs do interakcji z różnymi systemami przechowywania.
  • Interfejs API aparatu umożliwiajÄ…cy dostÄ™p do kamery internetowej
  • Pen API do pracy z tabletami graficznymi
  • WÅ‚aÅ›ciwoÅ›ci API do zarzÄ…dzania parametrami w formacie klucz-wartość
  • Process API uÅ‚atwiajÄ…ce realizacjÄ™ i komunikacjÄ™ z procesami wtórnymi.
  • Dodano także API Metadata umożliwiajÄ…ce definiowanie informacji o aplikacjach używanych w menu systemów operacyjnych takich jak macOS.

Jeśli chodzi o schowek, jego funkcjonalność została rozszerzona, umożliwia teraz przesyłanie danych w wielu formatach. Ze swojej strony poprawiono możliwości zarządzania wejściami z klawiatury, dodając opcje konfiguracji klawiatur wirtualnych na urządzeniach z systemem iOS i Android. Dodatkowo sprawdzono i udoskonalono dokumentację API, uzupełnioną praktycznymi przykładami, które można uruchomić bezpośrednio z przeglądarki.

Na koniec należy również zauważyć, że Wraz z SDL 3.2 wydano warstwę kompatybilności z sdl2, zaprojektowany aby zapewnić płynne przejście pomiędzy SDL 2 i SDL 3. Komponent ten umożliwia uruchamianie programów napisanych dla SDL 2 z wykorzystaniem funkcjonalności nowej gałęzi, stanowiąc całkowity zamiennik poprzedniej wersji.

Jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.