Познакомьтесь, SDL.
О библиотеке SDL.
Если вы когда-нибудь пытались программировать графику в операционной системе DOS, то наверно знаете, что большая
часть кода - это низкоуровневая работа с портами ввода-вывода, прерываниями и т.п. С одной стороны это
интересно, но в то же время такая работа очень сложна и код получается абсолютно непереносимый на другие
платформы. В нормальных ОС непосредственный доступ к регистрам железа крайне ограничен или невозможен. Работа
осуществляется посредством драйверов. Работа с драйвером все еще сложна, особенно для начинающих. По этой
причине появляются библиотеки, которые являются прослойкой между вашей программой и драйверами устройств. Такие
библиотеки значительно облегчают жизнь и позволяют писать простой код. Но библиотека библиотеке рознь. И так,
разрешите представить - Simple DirectMedia Layer.
Иначе - SDL. Библиотека предоставляет доступ к видео и аудио оборудованию вашего компьютера, а также к
устройствам ввода, таким как мышь, клавиатура и джойстик. Эту библиотеку используют в самых различных
программах, начиная от MPEG-проигрывателей и заканчивая эмуляторами. Но по большей части SDL используется для
создания игр. Например таких как Tribes и Civilization: Call to Power. Вот скриншоты:
 |
 |
SDL по своим возможностям очень напоминает Microsoft DirectX API. Но поддерживает большое число операционных
систем (то есть ваши программы будут работать в нескольких операционных системах) и имеет интерфейс с многими
языками программирования. Библиотека написана на Си (хотя прекрасно работает с С++), но поддерживает очень много
других языков, даже такие как Perl, Python и PHP! Поддерживаемые операционные системы: Linux, BeOS, MacOS,
Solaris, FreeBSD, IRIX, Win32. Распространяется библиотека по лицензии GNU Lesser General Public License version
2. Это означает, что вы можете без проблем создавать коммерческие программы.
SDL создал замечательный человек Sam Lantinga, который работает в компании Blizzard Entertainment и работал в компании Loki
Entertainment Software ведущим программистом. История SDL начинается с времен, когда Сэм работал над программой
эмулятором Макинтош для Windows. Он заметил, что многие куски кода без проблем могут работать в Linux. И он решил
создать небольшую библиотеку, чтобы ей могли воспользоваться другие программисты. В октябре 1997 был выпущен релиз
библиотеки с версией 0.3, а позже эту библиотеку во всю использовала компания Loki Software для портирования игр под
Linux.
Как говорит Сэм, сравнивать SDL и DirectX все равно что сравнивать апельсин и яблоко. Единственное сходство в том,
что это фрукты. SDL предоставляет значительно более простой API, чем DirectX. SDL изначально создана для 2D-графики и
не имеет непосредственно функций для 3D-графики, но прекрасно дружит с OpenGL. Для поддержки сетевых функций можно использовать библиотеку
SDL_net.
Конечно, выбор библиотеки для своего проекта - личное дело каждого, но все-таки SDL является бесспорным лидером для
создания игр или мультимедиа-программ. Если вы не хотите использовать SDL для своей игры, то все равно рекомендую
ознакомиться с приемами работы с библиотекой, чтобы повысить уровень своего образования.
©opyleft PLG, 2003.