Литературная библиотека
- 1 year ago
- 0
- 0
Allegro — свободная кроссплатформенная мультимедийная библиотека . Она предоставляет инструменты для вывода базовой 2D-графики и текста, работы с изображениями, воспроизведения аудиофайлов (в том числе MIDI -музыки) и обработки пользовательского ввода. Она также предоставляет дополнительные функции для использования чисел с фиксированной и плавающей запятой , операций над матрицами , использования строк в формате Юникод , работы с файловой системой и 3D-графикой. Библиотека написана на языке программирования C и рассчитана на использование с языками C, C++ . Также возможна связка с Pascal , Python , Lua , Scheme , D , Go и множеством других языков .
Allegro поддерживает платформы Windows , macOS , Unix-подобные системы , Android и iOS , абстрагируя их API в один переносимый интерфейс. Существует независимый порт Allegro на AmigaOS 4 и MorphOS .
Allegro была создана Шоном Хэргривзом в начале 1990-х для Atari ST . Изначально название библиотеки расшифровывалось как Atari Low-Level Game Routines (низкоуровневые функции для игр Atari) . Однако Шон решил прекратить разработку версии для Atari, когда понял, что эта платформа уже изжила свой век, и возобновил разработку для компиляторов Borland C++ и DJGPP в 1995 году. Поддержка Borland C++ была прекращена с версией 2.0, таким образом, DJGPP остался единственным поддерживаемым компилятором. Поскольку это был компилятор на DOS , все игры, использовавшие Allegro, запускались на DOS. Примерно в 1998 библиотека разделилась на несколько параллельных версий. Были созданы порты для Windows — WinAllegro и Unix — XwinAllegro. Различные версии были соединены вместе в ходе работы над Allegro 3.9, а Allegro 4.0 стала первой стабильной версией библиотеки, поддерживающей несколько платформ.
В настоящее время усилия разработчиков сконцентрированы на ветке Allegro 5 — полной переработке API и большей части внутреннего взаимодействия. Упор был сделан на логичность интерфейса и потокобезопасность . Теперь библиотека по умолчанию использует аппаратное ускорение с помощью OpenGL или DirectX , если возможно. Множество расширений для Allegro 4, которые раньше существовали как отдельные проекты, теперь включены в базовую сборку. Allegro 5 — событийно-ориентированная .
Allegro предоставляет следующие графические функции:
Сообщество пользователей Allegro создало несколько расширений для библиотеки, к примеру, расширение, позволяющее прокручивать карту из тайлов , или проводящее импорт и экспорт из множества файловых форматов ( PNG , GIF , JPEG изображения, MPEG видео, Ogg , MP3 , S3M аудио, шрифты TTF и т. п.).