Открыть главное меню

Simple DirectMedia Layer

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

Simple DirectMedia Layer
SDL Logo.svg
SDL logo.png
SDL
Тип API
Разработчик Сэм Лантинга
Написана на C[1]
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 2.0.8 (1 марта 2018 года[2])
Лицензия zlib (с версии 2.0);
GNU LGPL (до 2.0)
Сайт libsdl.org
Commons-logo.svg Simple DirectMedia Layer на Викискладе
Simple DirectMedia Layer

Официально поддерживаются операционные системы: Linux, Microsoft Windows, Mac OS X, iOS и Android[3].

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

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

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

Содержание

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

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 — поддержка различных растровых форматов
  • SDL mixer — функции для организации сложного аудио, в основном, сведение звука из нескольких источников
  • SDL net — поддержка сетевых функций
  • SDL ttf — поддержка шрифтов TrueType
  • SDL rtf — отрисовка текста в формате RTF

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

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

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

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

  • 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.

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