Allegro

来自站长百科
跳转至: 导航、​ 搜索

Allegro是一个跨平台的C/C++游戏开发包,提供2D,3D,声效,用户输入,文件,压缩,GUI等功能.

软件概况[ ]

授权协议:自由软件

开发语言:C/C++

官方网站:http://www.liballeg.org

软件下载:http://www.liballeg.org/wip.html

概述[ ]

Allegro是一个特别针对于电子游戏的开发的自由软件程序库。

该库提供基本二维图形、图像操作、音效输出、MIDI音乐、输入、计时器,以及额外的寻路矩阵计算、UNICODE、文件系统管理、有限而建基于软件的三维图形。

其版本4.0可以运行在DOSMicrosoft Windows、BeOS、Mac OS X、多种类Unix,程序只需要嵌入其API即可使用。该库还有独立的AmigaOS 4移植版。

该库使用C语言编写,适用于C或C++,其附带很多文档和实例。

历史[ ]

Allegro原本的含义是"Atari Low-Level Game Routines"。20世纪90年代初由Shawn Hargreaves为Atari ST创造,1995年Shawn因为Atari即将消失而抛弃了对其支持又引入了Borland C++ 和DJGPP编译器。Borland C++ 在2.0版本被抛弃,DJGPP是唯一被支持的编译器——Allegro因此只能用于DOS。

1998年前后, Allegro发展出了很多版本,对应Microsoft Windows的WinAllegro、对应类Unix的XwinAllegro,这些融入了Allegro 3.9 WIP版本,这样Allegro 4.0成为首个多平台稳定版本,当前支持Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows (MSVC, MinGW, Cygwin, Borland C++), BeOS, QNX, Mac OS X, DOS (DJGPP, Watcom)。

当前稳定版本为4.2.2;计划中的新版本5.0来源于4.9.x,当前为Allegro 4.9.13。

硬件加速3D/2D应用于Linux、Mac OS X、DOS采用多种方式,包括AllegroGL和OpenLayer。它们是两个附件add-on库,通过OpenGL实现。结合Glide和MesaFX (3dfx),AllegroGL是少数对应DOS的开源3D硬件加速方案。

功能[ ]

  • 矢量绘制:
  1. 像素、线、矩形、圆柱、贝塞尔曲线等几何图形、
  2. 有图案(Pattern)或者没有图案的形状填充(Shape Fill)
  3. 各种多边形(Polygons):单调(Flat)、内插均匀(Gouraud)、三维纹理(3D Textured)和半透明( Translucent)
  • 图块:
  1. 掩码(Masked)、压缩(Compressed)和编译(Compiled)三种精灵(Sprites)
  2. 位块传输(Blitting)、旋转(Rotation)、拉伸(Stretching)、挤压(Reduction)、α通道混色(Alpha Blending)、内插均匀着色(Gouraud Shading)
  3. 内建BMP、LBM、PCX、TGA文件格式支持,其他的可通过扩展库支持
  • 各种调色板(Color Palettes):
  1. 调色板的操纵(读、写、转换)
  2. RGB和HSV两种色彩格式(Color Formats)之间的转换
  • 文字:
  1. 支持多种编码之间的转换,默认UTF-8
  2. 点阵字体:掩码(Masking)、彩色(Colouring)、对齐(Alignment)
  • 其他:
  1. 直接在屏幕或任意大小的内存位图(Memory Bitmaps)中进行绘制
  2. 硬件轴卷(Hardware Scrolling)和三缓存(Triple Buffering)(前提是该处可用)、X模式(mode-X)的分屏(Split Screen)
  3. 用于FLI/FLC格式的动画函数

相关条目[ ]

参考来源[ ]