Allegro (biblioteca de software) - Allegro (software library)
Logotipo da Allegro
| |
Autor (es) original (is) | Shawn Hargreaves |
---|---|
Desenvolvedor (s) | Desenvolvedores Allegro |
lançamento inicial | início de 1990 |
Versão estável | 5.2.7 / 7 de março de 2021
|
Repositório | |
Escrito em | C |
Sistema operacional | Windows , Linux , macOS , et al. |
Modelo | SDK de jogos e multimídia |
Licença | Allegro 4: Beerware Allegro 5: zlib |
Local na rede Internet | liballeg |
Allegro é uma biblioteca de software para desenvolvimento de videogame . A funcionalidade da biblioteca inclui suporte para gráficos 2D básicos, manipulação de imagem, saída de texto, saída de áudio, música MIDI , entrada e timers, bem como rotinas adicionais para aritmética de matriz de ponto fixo e ponto flutuante , strings Unicode , acesso ao sistema de arquivos , manipulação de arquivos, arquivos de dados e gráficos 3D. A biblioteca foi escrita na linguagem de programação C e projetada para ser usada com C, C ++ ou Objective-C , com ligações disponíveis para Python , Lua , Scheme , D , Go e outras linguagens. Allegro vem com uma extensa documentação e muitos exemplos.
Allegro oferece suporte a Windows , macOS , sistemas semelhantes ao Unix , Android e iOS , abstraindo suas interfaces de programação de aplicativos (APIs) em uma interface portátil. Versões anteriores até 4.4 suportavam Windows, macOS, DOS , BeOS e vários sistemas semelhantes ao Unix com (ou sem) o X Window System . Também existe uma porta independente do Allegro no AmigaOS 4 e no MorphOS .
Distribuído sob os termos da licença zlib , Allegro é um software de código aberto e gratuito .
História
Inicialmente representando Rotinas de Jogo de Baixo Nível do Atari , Allegro foi originalmente criado por Shawn Hargreaves para o Atari ST no início de 1990. No entanto, Hargreaves abandonou a versão Atari quando percebeu que a plataforma estava morrendo e reimplementou seu trabalho para os compiladores Borland C ++ e DJGPP em 1995. O suporte para Borland C ++ foi abandonado na versão 2.0 e DJGPP era o único compilador compatível. Como DJGPP era um compilador DOS , todos os jogos que usavam Allegro usavam DOS. Por volta de 1998, Allegro se ramificou em várias versões. Uma porta para Windows , WinAllegro, foi criada, e também durante esse tempo, uma porta Unix de Allegro, XwinAllegro, foi criada. Essas várias portas foram reunidas durante as versões WIP do Allegro 3.9, com o Allegro 4.0 sendo a primeira versão estável do Allegro a oferecer suporte a várias plataformas.
Allegro 5
O desenvolvimento atual está focado na filial do Allegro 5, um redesenho completo da API e de grande parte da operação interna da biblioteca. Esforço foi feito para tornar a API mais consistente e multi-thread segura. Por padrão, a biblioteca agora é acelerada por hardware usando back-ends de renderização OpenGL ou DirectX quando apropriado. Muitos dos addons que existiam como projetos separados para o Allegro 4 agora fazem interface perfeitamente com o Allegro adequado e são agrupados com a instalação padrão. Allegro 5 é orientado por eventos .
Características
Allegro fornece as seguintes funções gráficas:
- Desenho vetorial:
- pixels, linhas, retângulos, triângulos, círculos, elipses, arcos, curvas de Bézier
- preenchimento de forma, com ou sem padrão
- polígonos: plano, Gouraud , texturizado (3D) e translúcido
- Sprites :
- Paletas de cores:
- Texto:
- suporte para diferentes codificações e conversões, o padrão é UTF-8
- fontes de bitmap (máscara, coloração, alinhamento)
- Diversos:
- desenhar diretamente na tela ou em bitmaps de memória de qualquer tamanho
- rolagem de hardware e buffer triplo (quando disponível), tela dividida em modo X
- funções de animação para formato FLIC
Addons
A comunidade de usuários do Allegro contribuiu com várias extensões de biblioteca para lidar com coisas como mapas de blocos de rolagem e importação e exportação de vários formatos de arquivo (por exemplo , PNG , GIF , imagens JPEG , vídeo MPEG , Ogg , MP3 , IT , S3M , música XM , fontes TTF , e mais).
Allegro 4.x e abaixo podem ser usados em conjunto com OpenGL usando a biblioteca AllegroGL que estende a funcionalidade do Allegro em OpenGL e, portanto, o hardware. Allegro 5 suporta nativamente OpenGL .
Veja também
- Borland Graphics Interface (BGI)
- ClanLib
- DirectX
- Lista de motores de jogo
- Microsoft XNA
- OpenAL
- OpenGL
- OpenML
- Raylib
- SciTech SNAP
- SDL
- SFML
- UniVBE