WikiSort.ru - Комьютерные игры

ПОИСК ПО САЙТУ | о проекте
Allegro
Тип мультимедийная библиотека
Автор Shawn Hargreaves
Разработчик сообщество
Написана на C
Операционная система Windows, Linux, macOS и др.
Первый выпуск начало 1990
Последняя версия 5.2.4 (25 февраля 2018)
Состояние активное
Лицензия zlib
Сайт liballeg.org

Allegro — свободная кроссплатформенная мультимедийная библиотека[1][2][3]. Она предоставляет инструменты для вывода базовой 2D-графики и текста, работы с изображениями, воспроизведения аудиофайлов (в том числе MIDI-музыки) и обработки пользовательского ввода. Она также предоставляет дополнительные функции для использования чисел с фиксированной и плавающей запятой, операций над матрицами, использования строк в формате Юникод, работы с файловой системой и 3D-графикой. Библиотека написана на языке программирования C и рассчитана на использование с языками C, C++. Также возможна связка с Pascal, Python, Lua, Scheme, D, Go и множеством других языков[4].

Allegro поддерживает платформы Windows, macOS, Unix-подобные системы, Android и iOS, абстрагируя их API в один переносимый интерфейс. Существует независимый порт Allegro на AmigaOS 4 и MorphOS.

История

Allegro была создана Шоном Хэргривзом в начале 1990-х для Atari ST. Изначально название библиотеки расшифровывалось как Atari Low-Level Game Routines (низкоуровневые функции для игр Atari)[5]. Однако Шон решил прекратить разработку версии для 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

В настоящее время усилия разработчиков сконцентрированы на ветке Allegro 5 — полной переработке API и большей части внутреннего взаимодействия. Упор был сделан на логичность интерфейса и потокобезопасность. Теперь библиотека по умолчанию использует аппаратное ускорение с помощью OpenGL или DirectX, если возможно. Множество расширений для Allegro 4, которые раньше существовали как отдельные проекты, теперь включены в базовую сборку. Allegro 5 — событийно-ориентированная.

Особенности

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

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

Расширения

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

См. также

Примечания

  1. Jonathan Harbour. Game Programming All in One, Second Edition. — Course Technology PTR, 2004. ISBN 1-59200-383-4.
  2. Lennart Steinke. Spielprogrammierung. — BHV Verlag, 2003. ISBN 3-8266-8075-8.
  3. P. J. Deitel. C How to Program, Second Edition. — Prentice Hall, 2006. ISBN 0-13-240416-8.
  4. Language bindings (англ.). Проверено 3 ноября 2016.
  5. Shawn Hargreaves. Ответ создателя библиотеки (англ.) (20 March 2006). Проверено 3 ноября 2016.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии