Allegro
Allegro是一个特別針對電子遊戲的開發的自由軟體程式庫。
該庫提供基本二維圖形、圖像操作、音效輸出、MIDI 音樂、輸入、計時器,佮額外的尋路矩陣計算、UNICODE、檔案系統管理、有限而起是軟體的三維圖形。
其版本四配空會當執行佇咧 DOS、Microsoft Windows、BeOS、Mac OS X、濟種類 Unix,程式干焦需要1875其 API 就會使用矣。該庫閣有獨立的 AmigaOS 四徙栽版。
該庫使用 C 語言編寫,適用佇咧 C 抑是 C + +,其實遐爾濟文件佮實例。
附件
Allegro 社群使用者貢獻了濟濟種擴充,包括軸捲圖角形式的地圖、輸入輸出各種格式(有 PNG、GIF、JPEG、MPEG、Ogg、MP 三、IT、S 三 M、XM、TTF)。 其實閣有幾若个語言結束,比如講 Python、Perl、Scheme、C #、D 語言等等。
歷史
Allegro 原本的含義是 "AtariLow-LevelGameRoutines "。二十世紀九空年代初由 Shawn Hargreaves 為 Atari ST 創造,一九九五年 Shawn 因為乎 Atari 咧欲消失去矣對其支援閣引入去矣 Borland C + + 和 DJGPP 編譯器。Borland C + + 佇二嬸空版本予人放捒,DJGPP 是唯一被支援的編譯器—— Allegro 所以只會當用佇 DOS。一九九八年前後,Allegro 發展出足濟版本的,對應 Microsoft Windows 的 WinAllegro、對應類 Unix 的 XwinAllegro,遮的融入去矣 Allegro 三更九 WIP 版本,按呢乎 Allegro 四配空成做頭一个濟平台穩定版本,做前支援 Unix ( Linux , FreeBSD , Irix , Solaris , Darwin ) , Windows ( MSVC , MinGW , Cygwin , Borland C + + ) , BeOS , QNX , Mac OS X , DOS ( DJGPP , Watcom )。
硬體加速三 D / 二 D 應用佇咧 Linux、Mac OS X、DOS 採用濟種的方式,包括講 AllegroGL 和 OpenLayer。𪜶是兩个附件 add-on 庫,通過 OpenGL 實現。結合 Glide 和 MesaFX ( 三 dfx ),AllegroGL 是少數對應 DOS 的開源三 D 硬體加速方案。
功能
- 向量畫出 :
- 像素、線、矩形、圓柱、貝塞爾曲線等等幾何圖形、
- 有圖樣(Pattern)抑是無圖樣的形狀填充(Shape Fill)
- 各種的多邊形(Polygons): 單調(Flat)、 內底插予齊勻(Gouraud)、 三維紋理(三 D Textured)佮半透明(Translucent)
- 圖角:
- 崁蓋(Masked)、 壓縮(Compressed)佮編譯(Compiled)三種精靈(Sprites)
- 位塊傳輸(Blitting)、 旋轉(Rotation)、 搝伸(Stretching)、 硩落去(Reduction)、 α 通道混色(Alpha Blending)、 內底插予齊勻(Gouraud Shading)
- 內建 BMP、LBM、PCX、TGA 檔案格式支援,其他的會當通過擴充庫支援
- 各種的調色盤(Color Palettes):
- 調色盤的操縱(讀、寫、轉換)
- RGB 和 HSV 兩種色水格式(Color Formats)之間的轉換
- 文字 :
- 支援多種編碼之間的轉換,預設 UTF ma八
- 點陣字型:崁蓋(Masking)、 彩色(Colouring)、 掠齊(Alignment)
- 其他:
- 佇螢幕抑是任意大細的記憶體點陣圖(Memory Bitmaps)中進行的繪製
- 硬體軸卷(Hardware Scrolling)參三緊取(Triple Buffering)(頭前提是該處會用的)、 X 模式(mode-X)的分屏(Split Screen)
- 用佇咧 FLI / FLC 格式的動畫函式
Allegro 五
目前的開發著手佇 Allegro 五這條分,四配九 . 十四是其實無穩定的版本。Allegro 五對庫的 API 佮其大量的內部操作進行了完全重新的設計,拍拚咧使予 API 會當閣較穩定來適用多核間的協同工課。其預設使用 OpenGL 抑是 DirectX 硬體加速彩現後端,當前大多數咧外掛程式攏愛重寫介面。
其他
- SDL ( Simple DirectMedia Layer )
- DirectX
- OpenGL
- ClanLib
- 多媒體開放多媒體式庫(OpenML)
- PLIB
- XNA
- SFML
參考資料
外部連結
( 英文)
- Allegro
- Allegro 五 Documentation(加攑攑香侍服器、美國侍服器)
- Allegro Wiki
- Allegro 五
- Allegro 五 Tutorials
- allegro . cc
- Shawn Hargreaves's Homepage
- Games Using Allegro