SDL 2.0.0 z udoskonaloną wielowątkowością, sprzętową akceleracją 2D i 3D, oraz obsługą...

SDL 2.0.0 z udoskonaloną wielowątkowością, sprzętową akceleracją 2D i 3D, oraz obsługą wielu okien

    przez -
    11 755
    SDL
    Ryan Gordon ogłosił wydanie SDL 2.0.0 (Simple DirectMedia Layer), uniwersalnej biblioteki programistycznej do tworzenia gier oraz programów multimedialnych. Główne API oferuje niskopoziomowy dostęp do dźwięku, klawiatury, myszki, dżojstika, sprzętu 3D poprzez OpenGL i bufora ramek 2D. Biblioteka napisana jest w języku C, ale współpracuje również z poziomu C++. Jest obsługiwana przez systemy Windows, Linux, Mac OS X, iOS, i Android.

    Zmiany, jakie zaszły:

    • Nowe API do renderowania ze wsparciem akceleracji 3D i bazujące na teksturach
    • Wsparcie sprzętowe akceleracji grafiki 2D
    • Wsparcie dla renderowania celów
    • Wsparcie wielu okien
    • Wsparcie w API dla dostępu do schowka
    • Wsparcie wielu podłączonych urządzeń (klawiatury, wskaźniki itp)
    • Wsparcie dla zestawów głośnikowych 7.1
    • Wsparcie wielu urządzeń audio
    • Wsparcie API do wibracji w dżojstikach
    • Wsparcie przesuwania kółkiem w poziomie w myszce
    • Wsparcie API z wejściem multitouch
    • Wsparcie przechwytywania dźwięku
    • Udoskonalono wielowątkowość

    Dodano także poradnik migracyjny z SDL 1.2 do SDL 2.0. Należy zaznaczyć, że wiele gier na Steam używa jej, jako podstawy dla działania pod Linuksem, a samo Valve zalecą ją podczas procesu przenoszenia na inne platformy, niż Windows.

    • asd

      nie wierzę :)

    • Roomcays

      Ważna wiadomość!

    • tomangelo

      Jeszcze jedna zmiana: zmiana licencji na zlib, czyli można korzystać to wykorzystać także w komercyjnych projektach.

      • pijaczek

        Wcześniej też można było korzystać w komercyjnych projektach i robiono to masowo. Wcześniej była licencja LGPL, która zezwala na wykorzystanie jej w komercyjnych grach/aplikacjach, ale wymaga linkowania dynamicznego (biblioteka SDL musiała być w DLL lub SO, aby ktoś mógł sobie podmienić bibliotekę na zoptymalizowaną przez siebie z wymienionymi dowolnymi fragmentami). Teraz zmiana na licencję Zlib pozwala po prostu również na linkowanie statyczne (biblioteka skompilowana tak aby była częścią pliku wykonywalnego i nie można jej podmienić).
        Podsumowując, dla komercyjnych zastosowań niewiele to zmienia, poza dowolnością linkowania do biblioteki, podczas gdy wcześniej był przymus zrobienia tego tak, aby każdy mógł sobie ją wymienić na nowszą wersję lub zmodyfikowaną.

      • sprae

        Przez takie dynamiczne linkowanie miałem kiedyś problem z uruchomieniem jednego softu, bo wymagał starego libpng.
        Nie zapominaj o ABI.

      • pijaczek

        Po pierwsze to absurdalne jak często libPNG zmienia ABI. W wypadku SDL takiego problemu nie ma, bo ma raczej stabilne ABI (teraz zmieniło się ABI, ale też nazwa biblioteki na SDL2 więc nie ma mowy o pomyłce programu z wybraniem złej wersji).
        Po drugie to karygodne, że pod Linuksem wiele zamkniętych programów jest wydawanych bez bibliotek, których używają dołączonych do programu i dodaniu do LD_LIBRARY_PATH przed startem programu… pod Windowsem byłoby zupełnie niedomyślenia takie zachowanie (ofc łamie ono "zasady dobrego zachowania" pod uniksami/linuksami, bo dubluje się często kod który jest już w systemie, ale przynajmniej działa i program działa stabilnie, pod przetestowaną wersją biblioteki, a nie na zasadzie "może się nie wywali/może zadziała na wersji zainstalowanej w systemie").

    • pijaczek

      Najważniejszymi zmianami które nie zostały wymienione wyżej jest:
      – bezproblemowe i wieloplatformowe wsparcie dla profili OpenGL (core, compatibility, debug, …)
      – wsparcie dla OpenGL ES
      – lepsze wsparcie dla wszelkiego inputu w tym klawiatury
      – wsparcie dla wpisywania tekstów w unicode ze wsparciem dla IME
      – wsparcie dla Drag'n'Drop
      Dodano dużo więcej, a sporo też wyrzucono denerwujących rzeczy z SDL 1.2.

    • Pingback: Biblioteka SDL 2 otrzymała obsługę Raspberry Pi()

    • Pingback: Raspberry Pi otrzymało obsługę w SDL 2 | OSWorld.pl()

    • Pingback: Unvanquished Alpha 22 z nową mapą i poprawionym plecakiem odrzutowym | OSWorld.pl()

    • Pingback: openSUSE 13.1 z ulepszonym instalatorem, nowym YaSTem i obsługą AArch64 - Linux mint, centos, ubuntu - OSWorld.pl - mały świat wielkich systemów!()