SDL означає Simple DirectMedia Layer, це мультимедійна бібліотека з відкритим кодом, написана в C і призначена для забезпечення низького рівня доступу до миші, клавіатури, аудіо, джойстика, 3D-графічного обладнання за допомогою Direct3D та OpenGL.
Використовується в багатьох іграх Humble Bundle або в нагородному каталозі Valve
Сьогодні SDL дуже використовується емуляторами, програмним забезпеченням для відтворення відео, а також численними популярними іграми, в тому числі нагородами Linux-порту "Цивілізація: Call To Powe", багатьма іграми Humble Bundle та преміальним каталогом Valve.
Працює на всіх основних операційних системах
Простий DirectMedia Layer працює на численних операційних системах, включаючи основні версії GNU / Linux, Microsoft Windows і Mac OS X. Підтримуються також BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX OS, а також операційні системи для мобільних пристроїв Android і iOS. Підтримувані апаратні платформи включають 32 і 64-розрядні.
Початок роботи з SDL
SDL зазвичай доступний для завантаження на численних операційних системах на базі ядра Linux через їх офіційні сховища програмного забезпечення. Встановлення його за допомогою найновішого вихідного пакета, який безкоштовно розповсюджується на Softoware, є простим, як пиріг.
Завантажте та збережіть архів у домашньому каталозі, розпакуйте його, відкрийте додаток терміналу та перейдіть до місця, де ви витягли архівний файл (наприклад, cd /home/softoware/SDL2-2.0.3).
Запустіть & lsquo; ./конфігурувати && зробити & rsquo; команду для налаштування, оптимізації та компіляції програми. Після успішної компиляції запустіть & lsquo; sudo make install & rsquo; команду як привілейованого користувача, щоб встановити систему SDL у широкому діапазоні.
Під капотом
Швидкий погляд під капотом проекту SDL повідомить нас про те, що він написаний на мові програмування C і що він працює спочатку з C ++. Також доступні прив'язки для інших мов програмування, що підтримують популярний Python, & nbsp; Ada, Java, Lua, Eiffel, ML, PHP, Perl, Pike, Ruby і C #.
Що нового в цьому випуску:
- Загальні відомості:
- Додано API, щоб отримати загальні шляхи файлової системи в SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Додано API для оптимізації оновлень текстури YV12 та IYUV: SDL_UpdateYUVTexture ()
- Додано API для отримання обсягу оперативної пам'яті в системі: SDL_GetSystemRAM ()
- Додано макрос для порівняння часових позначень із SDL_GetTicks (): SDL_TICKS_PASSED ()
- Різко покращена продуктивність рендеринга OpenGL ES 2.0
- Додано атрибут OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Виправлена підтримка плаваючого аудіо за допомогою драйвера PulseAudio
- Виправлено недоліки кінцевих точок лінії в рендерингу OpenGL для деяких драйверів
- Символи X11 більше не визначаються, щоб уникнути зіткнень при статичному зв'язуванні
- Android:
- ВАЖЛИВО: ВИ ПОВИННІ отримувати оновлену SDLActivity.java для відповідності C-коду
- Пересунув ініціалізацію EGL до власного коду
- Виправлено поворот вісі акселерометра відносно обертання пристрою
- Виправлені умови перегонів під час обробки контексту EGL при паузах / відновленні
- Сенсорні пристрої доступні для переліку відразу після init
- Малина Пі:
- Додана підтримка для Малина Пі, дивіться README-raspberrypi.txt для деталей
Що нового у версії 2.0.3:
- Загальні відомості:
- Додано API, щоб отримати загальні шляхи файлової системи в SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- Додано API для оптимізації оновлень текстури YV12 та IYUV: SDL_UpdateYUVTexture ()
- Додано API для отримання обсягу оперативної пам'яті в системі: SDL_GetSystemRAM ()
- Додано макрос для порівняння часових позначень із SDL_GetTicks (): SDL_TICKS_PASSED ()
- Різко покращена продуктивність рендеринга OpenGL ES 2.0
- Додано атрибут OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- Виправлена підтримка плаваючого аудіо за допомогою драйвера PulseAudio
- Виправлено недоліки кінцевих точок лінії в рендерингу OpenGL для деяких драйверів
- Символи X11 більше не визначаються, щоб уникнути зіткнень при статичному зв'язуванні
- Android:
- ВАЖЛИВО: ВИ ПОВИННІ отримувати оновлену SDLActivity.java для відповідності C-коду
- Пересунув ініціалізацію EGL до власного коду
- Виправлено поворот вісі акселерометра відносно обертання пристрою
- Виправлені умови перегонів під час обробки контексту EGL при паузах / відновленні
- Сенсорні пристрої доступні для переліку відразу після init
- Малина Пі:
- Додана підтримка для Малина Пі, дивіться README-raspberrypi.txt для деталей
Що нового у версії 1.2.14:
- Загальні примітки:
- Виправлено мерехтіння при зміні розміру вікна SDL
- Виправлена помилка в SDL_SetGammaRamp ()
- Виправлено зависання в SDL_memset () з довжиною 0, коли код збірки вимкнено.
- Додано змінну середовища SDL_DISABLE_LOCK_KEYS для активації звичайних подій "вгору / вниз" для клавіш Caps-Lock та Num-Lock.
- Виправлена помилка якості звуку при перетворенні між 22050 Гц і 44100 Гц.
- Виправлено аварію потоку, коли кілька стрічок швидко створюються та завершуються.
- Підвищена точність процедур альфа-змішування
- Виправлено завантажені файли BMP з каталожним завантаженням, збережені за допомогою інвертованих сканелів.
- Виправлена заклинювання координат миші, якщо SDL_SetVideoMode () не викликається у відповідь на подію SDL_VIDEORESIZE.
- Додано doxygen документацію для заголовків API SDL.
- Примітки до Unix:
- Виправлена потенційна втрата пам'яті через помилку збірки за допомогою SDL_revcpy ()
- Виправлено аварійне завершення роботи, намагаючись виявити функції SSE в архітектурі x86_64.
- Фіксована збірка для GCC оптимізованих 50% альфа-змішування blits.
- Додав параметр configure --enable-screensaver, щоб дозволити за замовчуванням заставка.
- Використовуйте XResetScreenSaver (), а не повністю відключіть скрінсейвер.
- Вилучено максимальне обмеження розміру вікна на X11.
- Виправлено SDL_GL_SWAP_CONTROL на X11.
- Виправлено налаштування підказки введення вікна X11.
- Виправлено деформоване значок вікна X11 для деяких візуальних елементів.
- Виправлено виявлення бібліотек X11 для динамічного завантаження на 64-бітному Linux.
- SDL_GL_GetAttribute (SDL_GL_SWAP_CONTROL) повертає правильне значення за допомогою GLX_SGI_swap_control.
- Додано SDL_VIDEO_FULLSCREEN_DISPLAY як бажаний синонім для SDL_VIDEO_FULLSCREEN_HEAD на X11.
- Змінні середовища SDL_VIDEO_FULLSCREEN_DISPLAY можна встановити на 0, щоб розміщувати вікна повноекранного SDL на першому екрані Xinerama.
- Додана змінна середовища SDL_VIDEO_FBCON_ROTATION для керування вихідною орієнтацією на консолі фреймбуфера. Дійсні значення: не задано - не обертається, немає тіні; & quot; NONE & quot; - Не обертається, але все ще використовує тінь; & quot; CW & quot; - поворотний екран за годинниковою стрілкою; & quot; UD & quot; - обертається екран вгору; & quot; CCW & quot; - Обертання екрану проти годинникової стрілки.
- Виявлено виявлення DirectFB на деяких дистрибутивах Linux.
- Додано код для використання процесорів PS3 SPE для перетворення YUV на Linux.
- Оновлена підтримка ALSA для останнього стабільного API
- ALSA зараз є кращим за звук OSS. (SDL_AUDIODRIVER = dsp відновить попередню поведінку.)
- Покращена підтримка PulseAudio
- Підтримка мережі аудіосистеми тепер динамічно завантажується під час виконання.
- Виправлена помилка з двома USB-джойстиком MP-8866 у нових ядрах Linux.
- Виправлена помилка в SDL_Quit (), коли джойстик був відключений.
Коментар не знайдено