Аллегро (библиотека программного обеспечения)
Оригинальный автор(ы) | Шон Харгривз |
---|---|
Разработчик(и) | Разработчики Аллегро |
Первоначальный выпуск | начало 1990 года |
Стабильная версия | 5.2.9.1 [1] / 19 января 2024 г |
Репозиторий | |
Написано в | С |
Операционная система | Windows , Linux , macOS , Android , iOS , веб-браузер и др. |
Тип | для мультимедиа и игр SDK |
Лицензия | Аллегро 5: zlib [2] |
Веб-сайт | цифры |
Allegro — это библиотека программного обеспечения для разработки видеоигр . [3] [4] [5] Функциональность библиотеки включает поддержку базовой 2D-графики, манипуляций с изображениями, вывода текста, вывода звука, MIDI- музыки, ввода и таймеров, а также дополнительных процедур для матричной арифметики с фиксированной и плавающей запятой, строк Unicode , доступа к файловой системе. , манипуляции с файлами, файлы данных и 3D-графика. Библиотека написана на языке программирования C и предназначена для использования с C, C++ или Objective-C , с привязками доступными для Python , Lua , Scheme , D , Go и других языков. [6] Allegro поставляется с обширной документацией и множеством примеров.
Allegro поддерживает Windows , macOS , Unix-подобные системы , Android и iOS , абстрагируя их интерфейсы прикладного программирования (API) в один портативный интерфейс. Он также может работать поверх Simple DirectMedia Layer , который используется для запуска программ Allegro в веб-браузере с использованием Emscripten . [7]
Выпущенная на условиях лицензии zlib , Allegro является бесплатным программным обеспечением с открытым исходным кодом .
История
[ редактировать ]Первоначально означало Atari Low-Level Game Routines , [8] Allegro изначально был создан Шоном Харгривзом для Atari ST в начале 1990-х годов. Однако Харгривс отказался от версии для Atari, поскольку понял, что платформа умирает, и в 1995 году заново реализовал свою работу для компиляторов Borland C++ и DJGPP . Поддержка Borland C++ была прекращена в версии 2.0, и DJGPP был единственным поддерживаемым компилятором. Поскольку DJGPP был компилятором DOS , все игры, в которых использовалась Allegro, использовали DOS, что привлекло внимание энтузиастов к этой устаревшей системе. [9] Примерно в 1998 году Allegro разделилась на несколько версий. Был создан порт WinAllegro для Windows , а также в это же время был создан порт Allegro для Unix — XwinAllegro. Эти различные порты были объединены в версиях WIP Allegro 3.9, причем Allegro 4.0 стала первой стабильной версией Allegro, поддерживающей несколько платформ.
Аллегро 5
[ редактировать ]Текущая разработка сосредоточена на ветке Allegro 5, полной переработке как API, так и большей части внутренних операций библиотеки. Были предприняты усилия, чтобы сделать API более последовательным и многопоточным. По умолчанию библиотека теперь имеет аппаратное ускорение с использованием серверов рендеринга OpenGL или DirectX, где это необходимо. Многие из дополнений, которые существовали как отдельные проекты для Allegro 4, теперь легко взаимодействуют с самим Allegro и входят в комплект установки по умолчанию. Allegro 5 управляется событиями .
Функции
[ редактировать ]Allegro 5 поддерживает следующие функции в своем Core API: [10]
- Файлы конфигурации – обработка файлов формата INI
- Дисплеи – работа с окнами
- События - управление событиями
- Файловый ввод-вывод — абстракция как над реальными файлами, так и над файлами внутри некоторого файла данных (например, ZIP * архива).
- Файловая система — абстракция как над реальной файловой системой, так и над файловой системой внутри некоторого файла данных (например, ZIP-архива).
- Математика с фиксированной запятой — может быть полезна для встроенных процессоров без FPU.
- Полноэкранные режимы
- Графические процедуры — цвета, форматы пикселей, растровые изображения, обрезка.
- Тактильные процедуры — силовая обратная связь и вибрация на устройствах ввода.
- Процедуры джойстика
- Подпрограммы клавиатуры
- Управление памятью
- Мониторы
- Подпрограммы мыши
- Структуры пути — манипулирование путем к файлу
- Шейдер
- Состояние - вы можете сохранить и позже восстановить состояние приложения Allegro.
- Системные процедуры
- Темы
- Время
- Таймер
- Сенсорный ввод
- Трансформации – преобразование координат для 2D и 3D.
- Строковые процедуры UTF-8
- Интеграция с Direct3D
- Интеграция OpenGL
Аддоны
[ редактировать ]Сообщество пользователей Allegro предоставило несколько расширений библиотеки для таких задач, как прокрутка тайловых карт, а также импорт и экспорт файлов различных форматов. Кроме того, некоторые части того, что раньше было частью Allegro, теперь выделены в виде дополнений в Allegro 5. Эти дополнения распространяются вместе с основной библиотекой: [11]
- Аудио аддон
- Аудиокодеки — .wav, .flac, .ogg, .opus, .it, .mod, .s3m, .xm, .voc.
- Цветовой аддон - преобразование цветового пространства
- Дополнения к шрифтам
- Модуль ввода-вывода изображений — BMP, DDS, PCX, TGA, JPEG, PNG
- Основной аддон
- Аддон Memfile — рассматривайте фиксированный блок непрерывной памяти как файл.
- Аддон нативных диалогов
- Аддон PhysicsFS - использование архива в качестве файловой системы
- Аддон Primitives - рисование примитивов (например, круга)
- Аддон для потокового видео
См. также
[ редактировать ]- Графический интерфейс Borland (BGI)
- ClanLib
- ДиректХ
- Список игровых движков
- Microsoft XNA
- ОпенАЛ
- OpenGL
- OpenML
- Райлиб
- Научно-техническая SNAP
- СДЛ
- СФМЛ
- УниВБЕ
Ссылки
[ редактировать ]- ^ «5.2.9.1 Выпуск» . 5.2.9.1 Страница релиза Github . Проверено 24 января 2024 г.
- ^ Команда разработчиков Аллегро. «Подарочная лицензия» . Проверено 16 ноября 2013 г.
- ^ Харбор, Джонатан (2004). Программирование игр «Все в одном», второе издание . Курс Технологии ПТР. ISBN 1-59200-383-4 .
- ^ Стейнке, Леннарт (2003). Программирование игр . Издательство БХВ. ISBN 3-8266-8075-8 .
- ^ Дейтел, П.Дж. (2006). C Как программировать . Как программировать. Прентис Холл . ISBN 0-13-240416-8 .
- ^ Список привязок языка Allegro
- ^ «Добро пожаловать в Аллегро!» . Гитхаб . 23 сентября 2022 г.
- ^ Сообщение на форуме Шона Харгривза
- ^ Уилсон, Хэмиш (9 апреля 2024 г.). «Создание игрового компьютера с Linux в стиле ретро. Часть 41: Червь поворачивается» . Игры в Linux . Проверено 13 апреля 2024 г.
Хотя проект и по сей день получает постоянную поддержку со стороны ветки Allegro 5, на протяжении большей части своей истории Allegro был тесно связан со сценой бесплатного программного обеспечения MS-DOS, которая все еще развивалась вплоть до начала 2000-х годов.
- ^ «Справочное руководство по Аллегро 5» . Основной API.
- ^ «Справочное руководство по Аллегро 5» . Аддоны.
Внешние ссылки
[ редактировать ]- Программное обеспечение АмигаОС 4
- Интерфейсы прикладного программирования
- Библиотеки C (язык программирования)
- Кроссплатформенное программное обеспечение
- Бесплатное программное обеспечение, написанное на C.
- Графические библиотеки
- API-интерфейсы Linux
- API-интерфейсы MacOS
- Программное обеспечение МорфОС
- Программное обеспечение, использующее лицензию zlib
- Программное обеспечение для разработки видеоигр
- Наборы инструментов для виджетов
- API-интерфейсы Windows
- Программное обеспечение для разработки видеоигр для Linux