Simple DirectMedia Layer
| Simple DirectMedia Layer | |
|---|---|
| Тип | библиотека функций |
| Автор | Sam Lantinga[вд] |
| Разработчик | Sam Lantinga[вд] |
| Написана на | Си[2][3][…] |
| Операционные системы | Windows, GNU/Linux, Android, macOS, iOS, FreeBSD и Haiku |
| Дата выпуска | 1998 |
| Последняя версия | |
| Репозиторий | github.com/libsdl-org/SDL |
| Лицензия | лицензия zlib[4] и LGPL-2.1[вд] |
| Сайт | libsdl.org (англ.) |

Simple DirectMedia Layer (SDL) —свободнаякроссплатформенная мультимедийнаябиблиотека, реализующая единый программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода для широкого спектра платформ. Данная библиотека активно используется при написании кроссплатформенныхмультимедийных программ (в основном игр).
Официально поддерживаемыеоперационные системы:Linux,Microsoft Windows,macOS,iOS иAndroid[5].
SDLAPI доступны для языков:C,C++,C#,VB.NET,D,Ada,Vala,Eiffel,Haskell,Erlang,Euphoria,Java,Lisp,Lua,ML,Pascal,Perl,PHP,Pike,PureBasic,Python,Go[6],Rust иRuby[7].
Основная часть SDL содержит базовый, весьма ограниченный спектр возможностей. Дополнительную функциональность обеспечивают библиотеки расширений, которые обычно входят в поставку SDL.
Начиная с версии 2.0, SDL распространяется под условиями лицензииzlib; до этого использовалась лицензияGNULGPL[8].
История
[править |править код]SDL создал Сэм Лантинга, будучи ведущим программистом компанииLoki Entertainment Software. История SDL начинается со времён, когда Сэм работал над программой-эмуляторомMicrosoft Windows дляMacintosh. Он заметил, что многие куски кода без проблем могут работать наLinux. И он решил создать небольшую библиотеку, чтобы ей могли воспользоваться другие программисты. В октябре 1997 был выпущен релиз библиотеки с версией 0.3, а позже эту библиотеку вовсю использовала компанияLoki Software для портирования игр подLinux.
После банкротства Loki Software Сэм работал в качестве ведущего разработчика вBlizzard, где велись работы по портированиюWorld of Warcraft на Linux, но в компании решили закрыть проект.
С июля 2012 года Сэм присоединился к команде разработчиковValve, где занимается дальнейшей разработкой SDL.
Структура
[править |править код]
SDL сам по себе довольно прост. Его можно рассматривать как тонкую прослойку, обеспечивающую поддержку для 2D-операций над пикселями, звука, доступа к файлам, обработки событий и т. п. Он часто используется в дополнение кOpenGL, предоставляя поддержку мыши, клавиатуры и джойстиков.
Библиотека состоит из нескольких подсистем, таких как Video, Audio,CD-ROM, Joystick и Timer. В дополнение к этой базовой низкоуровневой функциональности, существует ряд стандартных библиотек, предоставляющих дополнительную функциональность:
- SDL_image — поддержка различных растровых форматов[9][10]
- SDL_mixer — функции для организации сложного аудио, в основном, сведение звука из нескольких источников[11][12]
- SDL_net — поддержка сетевых функций[13][14]
- SDL_ttf — поддержка шрифтов TrueType[15][16]
- SDL_rtf — отрисовка текста в формате RTF (доступна только для SDL 1.2)[17]
Γалерея
[править |править код]См. также
[править |править код]Примечания
[править |править код]- ↑3.4.0 — 2026.
- ↑The sdl Open Source Project on Open Hub: Languages Page — 2006.
- ↑About SDL
- ↑https://github.com/libsdl-org/SDL/blob/main/LICENSE.txt
- ↑Simple DirectMedia Layer . Архивировано изоригинала 16 августа 2013 года.
- ↑veandco/go-sdl2. — 2020-03-26. Архивировано 3 августа 2020 года.
- ↑Simple DirectMedia Layer - Language Bindings . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 12 марта 2019 года.
- ↑Simple DirectMedia Layer - License . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 13 марта 2019 года.
- ↑SDL_image 2.0 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 28 февраля 2019 года.
- ↑SDL_image 1.2 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 1 марта 2019 года.
- ↑SDL_mixer 2.0 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 16 марта 2019 года.
- ↑SDL_mixer 1.2 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 1 марта 2019 года.
- ↑SDL_net 2.0 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 2 марта 2019 года.
- ↑SDL_net 1.2 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 19 февраля 2019 года.
- ↑SDL_ttf 2.0 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 6 марта 2019 года.
- ↑SDL_ttf 1.2 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 2 марта 2019 года.
- ↑SDL_rtf 0.1 . www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 27 февраля 2019 года.
Литература
[править |править код]- Rankin, K. Linux Multimedia Hacks: Tips & Tools for Taming Images, Audio, and Video. — O'Reilly Media, 2006. — P. 139. —ISBN 9780596100766.
- Loki Software, Inc and Hall, J.R. Ch. 4. Mastering SDL // Programming Linux Games. — No Starch Press, 2001. —ISBN 9781886411494.
Ссылки
[править |править код]- Официальная страницаАрхивировано 7 июля 2013 года. (англ.)
- Введение в Simple DirectMedia LayerАрхивная копия от 1 июня 2016 наWayback Machine (рус.)
- Низкоуровневое расширение библиотеки SDL (рус.)
- Уроки по SDL (рус.)
- Справочник библиотеки SDL на русском языкеАрхивная копия от 13 июня 2018 наWayback Machine