Из Википедии, бесплатной энциклопедии
  (Перенаправлено из библиотеки Allegro )
Перейти к навигации Перейти к поиску

Allegro - это программная библиотека для разработки видеоигр . [2] [3] [4] Функциональность библиотеки включает поддержку базовой 2D-графики, манипуляции с изображениями, вывода текста, аудиовыхода, MIDI- музыки, ввода и таймеров, а также дополнительных подпрограмм для операций с фиксированной и плавающей точкой. матричная арифметика, строки Unicode , доступ к файловой системе, манипулирование файлами, файлы данных и трехмерная графика. Библиотека написана на языке программирования C и предназначена для использования с C, C ++ или Objective-C , с привязками, доступными для Python., Lua , Scheme , D , Go и другие языки. [5] Allegro поставляется с обширной документацией и множеством примеров.

Allegro поддерживает Windows , macOS , Unix-подобные системы , Android и iOS , абстрагируя свои программные интерфейсы приложений (API) в один переносимый интерфейс. Предыдущие версии до 4.4 поддерживали Windows, macOS, DOS , BeOS и различные Unix-подобные системы с (или без) X Window System . Также существует независимый порт Allegro на AmigaOS 4 и MorphOS .

Allegro, выпущенная в соответствии с условиями лицензии zlib , является бесплатным программным обеспечением с открытым исходным кодом .

История [ править ]

Первоначально обозначавшая низкоуровневые игровые процедуры Atari , [6] 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 управляется событиями .

Особенности [ править ]

Allegro предоставляет следующие графические функции:

  • Векторный рисунок:
    • пиксели, линии, прямоугольники, треугольники, круги, эллипсы, дуги, кривые Безье
    • заливка формы, с узором или без него
    • полигоны: плоские, по Гуро , текстурированные (3D) и полупрозрачные
  • Спрайты :
    • замаскированные, сжатые и скомпилированные спрайты
    • блиттинг, вращение, растяжение, уменьшение, альфа-смешение, затенение по Гуро
    • встроенная поддержка файлов BMP , LBM , PCX и TGA (другие поддерживаются с расширениями библиотеки)
  • Цветовые палитры:
    • изменение цветовой палитры (чтение, письмо, преобразование)
    • преобразование цветовых форматов RGB <-> HSV
  • Текст:
    • поддержка различных кодировок и конвертации, по умолчанию UTF-8
    • растровые шрифты (маскировка, раскраска, выравнивание)
  • Разное:
    • рисовать прямо на экране или на растровых изображениях памяти любого размера
    • аппаратная прокрутка и тройная буферизация (где доступно), режим разделения экрана X
    • функции анимации для формата FLIC [7]

Дополнения [ править ]

Сообщество пользователей Allegro предоставило несколько расширений библиотеки для обработки таких вещей, как прокрутка мозаичных карт, а также импорт и экспорт различных форматов файлов (например, PNG , GIF , изображения JPEG , видео MPEG , Ogg , MP3 , IT , S3M , музыка XM , шрифты TTF , и больше).

Allegro 4.x и ниже можно использовать вместе с OpenGL с помощью библиотеки AllegroGL, которая расширяет функциональность Allegro на OpenGL и, следовательно, на оборудование. Allegro 5 изначально поддерживает OpenGL .

См. Также [ править ]

  • Графический интерфейс Borland (BGI)
  • ClanLib
  • DirectX
  • Список игровых движков
  • Microsoft XNA
  • OpenAL
  • OpenGL
  • OpenML
  • Райлиб
  • SciTech SNAP
  • SDL
  • SFML
  • UniVBE

Ссылки [ править ]

  1. ^ Команда разработчиков Allegro. «Лицензия на сувенирную продукцию» . Проверено 16 ноября 2013 .
  2. ^ Харбор, Джонатан (2004). Программирование игр все в одном, второе издание . Курс Технологии PTR. ISBN 1-59200-383-4.
  3. ^ Steinke, Леннарт (2003). Spielprogrammierung . BHV Verlag. ISBN 3-8266-8075-8.
  4. ^ Дейтель, PJ (2006). C Как программировать . Как программировать. Прентис Холл . ISBN 0-13-240416-8.
  5. ^ Список привязок языка Allegro
  6. ^ Сообщение на форуме Шоном Харгривзом
  7. ^ Введение в аллегро

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Аллегро вики
  • Игры с использованием Allegro
  • Домашняя страница Шона Харгривза