Это не официальный сайт wikipedia.org 01.01.2023

Simple DirectMedia Layer — Википедия

Simple DirectMedia Layer

Simple DirectMedia Layer (SDL) — свободная кроссплатформенная мультимедийная библиотека, реализующая единый программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода для широкого спектра платформ. Данная библиотека активно используется при написании кроссплатформенных мультимедийных программ (в основном игр).

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

Официально поддерживаемые операционные системы: Linux, Microsoft Windows, macOS, iOS и Android[4].

SDL API доступны для языков: C, C++, C#, VB.NET, D, Ada, Vala, Eiffel, Haskell, Erlang, Euphoria, Java, Lisp, Lua, ML, Pascal, Perl, PHP, Pike, PureBasic, Python, Go[5], Rust и Ruby[6].

Основная часть SDL содержит базовый, весьма ограниченный спектр возможностей. Дополнительную функциональность обеспечивают библиотеки расширений, которые обычно входят в поставку SDL.

Начиная с версии 2.0, SDL распространяется под условиями лицензии zlib; до этого использовалась лицензия GNU LGPL.[7]

ИсторияПравить

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

SDL сам по себе довольно прост. Его можно рассматривать как тонкую прослойку, обеспечивающую поддержку для 2D-операций над пикселями, звука, доступа к файлам, обработки событий и т. п. Он часто используется в дополнение к OpenGL, предоставляя поддержку мыши, клавиатуры и джойстиков.

Библиотека состоит из нескольких подсистем, таких как Video, Audio, CD-ROM, Joystick и Timer. В дополнение к этой базовой низкоуровневой функциональности, существует ряд стандартных библиотек, предоставляющих дополнительную функциональность:

  • SDL_image — поддержка различных растровых форматов[8][9]
  • SDL_mixer — функции для организации сложного аудио, в основном, сведение звука из нескольких источников[10][11]
  • SDL_net — поддержка сетевых функций[12][13]
  • SDL_ttf — поддержка шрифтов TrueType[14][15]
  • SDL_rtf — отрисовка текста в формате RTF (доступна только для SDL 1.2)[16]

ΓалереяПравить

См. такжеПравить

ПримечанияПравить

  1. The sdl Open Source Project on Open Hub: Languages Page — 2006.
  2. Release 2.26.2 — 2023.
  3. https://github.com/libsdl-org/SDL/blob/main/LICENSE.txt
  4. Simple DirectMedia Layer  (неопр.) (недоступная ссылка — история). Архивировано 16 августа 2013 года.
  5. veandco/go-sdl2. — 2020-03-26. Архивировано 3 августа 2020 года.
  6. Simple DirectMedia Layer - Language Bindings  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 12 марта 2019 года.
  7. Simple DirectMedia Layer - License  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 13 марта 2019 года.
  8. SDL_image 2.0  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 28 февраля 2019 года.
  9. SDL_image 1.2  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 1 марта 2019 года.
  10. SDL_mixer 2.0  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 16 марта 2019 года.
  11. SDL_mixer 1.2  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 1 марта 2019 года.
  12. SDL_net 2.0  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 2 марта 2019 года.
  13. SDL_net 1.2  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 19 февраля 2019 года.
  14. SDL_ttf 2.0  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 6 марта 2019 года.
  15. SDL_ttf 1.2  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 2 марта 2019 года.
  16. SDL_rtf 0.1  (неопр.). www.libsdl.org. Дата обращения: 5 марта 2019. Архивировано 27 февраля 2019 года.

ЛитератураПравить

СсылкиПравить