SDL означает простой DirectMedia Layer и представляет собой мультимедийную библиотеку с открытым исходным кодом, написанную на C, и предназначенную для обеспечения низкого уровня доступа к мыши, клавиатуре, аудио, джойстику, 3D-графическому оборудованию через Direct3D и OpenGL.
Используется во многих играх Humble Bundle или в награжденном наградами каталоге Valve
В эти дни SDL в значительной степени используется эмуляторами, программным обеспечением для воспроизведения видео, а также многочисленными популярными играми, включая превосходный Linux-порт «Civilization: Call To Powe», множество игр Humble Bundle и награжденный наградами каталог Valve.
Работает во всех основных операционных системах
Простой DirectMedia Layer работает во многих операционных системах, включая основные GNU / Linux, Microsoft Windows и Mac OS X. Также поддерживаются операционные системы BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX, а также мобильные операционные системы Android и iOS. Поддерживаемые аппаратные платформы включают 32 и 64-разрядные версии.
Начало работы с SDL
SDL обычно доступен для загрузки на многочисленных операционных системах на базе ядра Linux через их официальные репозитории программного обеспечения. Установка его с использованием новейшего исходного пакета, который бесплатно распространяется на Softoware, легко, как пирог.
Загрузите и сохраните архив в своем домашнем каталоге, распакуйте его, откройте приложение терминала и перейдите в место, где вы извлекли файл архива (например, cd /home/softoware/SDL2-2.0.3).
Запустите & lsquo; ./ configure && make & 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
- Малина Пи:
- Добавлена поддержка малины Pi, см. 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
- Малина Пи:
- Добавлена поддержка малины Pi, см. 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% альфа-смешивания.
- Добавлена опция настройки --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 для управления ориентацией вывода на консоли framebuffer. Допустимые значения: не установлены - не вращаются, нет тени; & Quot; НЕТ & Quot; - Не вращение, но использование тени; & Quot; CW & Quot; - Вращающийся экран по часовой стрелке; & Quot; УД & Quot; - Вращающийся экран вверх дном; & Quot; КОО & Quot; - Вращающийся экран против часовой стрелки.
- Исправлено обнаружение DirectFB в некоторых дистрибутивах Linux.
- Добавлен код для использования процессоров PS3 SPE для преобразования YUV в Linux.
- Обновленная поддержка ALSA для новейшего стабильного API
- ALSA теперь предпочитает звук OSS. (SDL_AUDIODRIVER = dsp восстановит предыдущее поведение.)
- Улучшена поддержка PulseAudio
- Поддержка сетевой аудиосистемы теперь динамически загружается во время выполнения.
- Исправлен сбой с MP-8866 Dual USB Joypad на новых ядрах Linux.
- Исправлен сбой в SDL_Quit (), когда джойстик был отсоединен.
Комментарии не найдены