Введение
Allegro — это библиотека программного обеспечения для разработки видеоигр. Функциональность библиотеки включает поддержку базовой 2D-графики, обработку изображений, вывод текста, вывод звука, MIDI-музыку, ввод данных и таймеры, а также дополнительные функции для работы с матрицами фиксированной и плавающей точечной арифметики, строками Unicode, доступом к файловой системе, манипулированием файлами, файлами данных и 3D-графикой. Библиотека написана на языке программирования C и предназначена для использования с C, C++ или Objective C, с доступными привязками для Python, Lua, Scheme, D, Go и других языков. Allegro поставляется с обширной документацией и множеством примеров. Allegro поддерживает Windows, macOS, Unix-подобные системы, Android и iOS, абстрагируя их интерфейсы прикладного программирования (API) в единый переносимый интерфейс. Она также может работать поверх Simple DirectMedia Layer, который используется для запуска программ Allegro в веб-браузере с помощью Emscripten. Распространяемая под лицензией zlib, Allegro является бесплатным и открытым программным обеспечением.
Allegro is a software library for video game development. The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output, MIDI music, input and timers, as well as additional routines for fixed point and floating point matrix arithmetic, Unicode strings, file system access, file manipulation, data files, and 3D graphics. The library is written in the C programming language and designed to be used with C, C++, or Objective C, with bindings available for Python, Lua, Scheme, D, Go, and other languages. Allegro comes with extensive documentation and many examples. Allegro supports Windows, macOS, Unix like systems, Android, and iOS, abstracting their application programming interfaces (APIs) into one portable interface. It can run also on top of Simple DirectMedia Layer which is used to run Allegro programs in web browser using Emscripten. Released under the terms of the zlib license, Allegro is free and open source software.
История
Изначально расшифровываясь как Atari Low Level Game Routines, Allegro был первоначально создан pl для Atari ST в начале 1990-х годов. Однако Харгривз отказался от разработки версии для Atari, осознав, что платформа устаревает, и переписал свою работу для компиляторов Borland C++ и DJGPP в 1995 году. Поддержка Borland C++ была прекращена в версии 2.0, и DJGPP остался единственным поддерживаемым компилятором. Поскольку DJGPP был DOS-компилятором, все игры, использующие Allegro, работали под DOS, привлекая энтузиастов этой старой системы. Около 1998 года Allegro разделился на несколько ветвей разработки. Был создан порт для Windows, WinAllegro, а также в это время появился Unix-порт Allegro, XwinAllegro. Эти различные порты были объединены в процессе разработки версий Allegro 3.9 WIP, а Allegro 4.0 стал первой стабильной версией Allegro, поддерживающей несколько платформ.
Аллегро 5
Текущая разработка сосредоточена на ветке Allegro 5, представляющей собой полную переработку как API, так и значительной части внутренней реализации библиотеки. Прилагались усилия для обеспечения большей согласованности API и его безопасности при многопоточном использовании. По умолчанию библиотека теперь использует аппаратное ускорение с применением OpenGL или DirectX в качестве бэкэндов рендеринга, где это возможно. Многие дополнения, существовавшие как отдельные проекты для Allegro 4, теперь беспрепятственно интегрируются с основной библиотекой Allegro и поставляются вместе с установкой по умолчанию. Allegro 5 работает на основе событий.