Allegro
Template:NoteTA 腳本錯誤:沒有「about」這個模塊。 Template:Infobox Software Allegro是一個特別針對於電子遊戲的開發的自由軟件程式庫。 [1][2][3]
該庫提供基本二維圖形、圖像操作、音效輸出、MIDI音樂、輸入、計時器,以及額外的尋路矩陣計算、UNICODE、文件系統管理、有限而建基於軟件的三維圖形。
其版本4.0可以運行在DOS、Microsoft Windows、BeOS、Mac OS X、多種類Unix,程序只需要嵌入其API即可使用。該庫還有獨立的AmigaOS 4移植版。
該庫使用C語言編寫,適用於C或C++,其附帶很多文檔和實例。
附件[編輯]
Allegro社區用戶貢獻了多種擴展,包括軸捲圖塊形式的地圖、輸入輸出各種格式(有PNG、GIF、JPEG、MPEG、Ogg、MP3、IT、S3M、XM、TTF)。其還有多個語言綁定,比如 Python、Perl、Scheme、C#、D語言等。
歷史[編輯]
Allegro原本的含義是"Atari Low-Level Game Routines"[4] 。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)。
硬件加速3D/2D應用於Linux、Mac OS X、DOS採用多種方式,包括AllegroGL和OpenLayer。它們是兩個附件add-on庫,通過OpenGL實現。結合Glide和MesaFX (3dfx),AllegroGL是少數對應DOS的開源3D硬件加速方案。[5]
功能[編輯]
- 向量繪製:
- 像素、線、矩形、圓柱、貝塞爾曲線等幾何圖形、
- 有圖案(Pattern)或者沒有圖案的形狀填充(Shape Fill)
- 各種多邊形(Polygons):單調(Flat)、內插均勻(Gouraud)、三維紋理(3D 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-8
- 點陣字體:掩碼(Masking)、彩色(Colouring)、對齊(Alignment)
- 其他:
- 直接在屏幕或任意大小的內存位圖(Memory Bitmaps)中進行繪製
- 硬件軸卷(Hardware Scrolling)和三緩存(Triple Buffering)(前提是該處可用)、X模式(mode-X)的分屏(Split Screen)
- 用於FLI/FLC格式的動畫函數[6]
Allegro 5[編輯]
目前的開發着手在Allegro 5這條分支,4.9.14是其不穩定的版本。Allegro 5對庫的API及其大量的內部操作進行了完全重新的設計,致力於使API能更穩定地適用於多核間的協同工作。其默認使用OpenGL或DirectX硬件加速渲染後端,當前的大多數插件都需要重寫接口。
其他[編輯]
腳本錯誤:沒有「Portal」這個模塊。 腳本錯誤:沒有「Portal」這個模塊。
參考資料[編輯]
外部連結[編輯]
- Allegro(頁面存檔備份,存於互聯網檔案館)
- Allegro 5 Documentation(加拿大伺服器(頁面存檔備份,存於互聯網檔案館)、美國伺服器)
- Allegro Wiki(頁面存檔備份,存於互聯網檔案館)
- Allegro 5(頁面存檔備份,存於互聯網檔案館)
- Allegro 5 Tutorials(頁面存檔備份,存於互聯網檔案館)
- allegro.cc(頁面存檔備份,存於互聯網檔案館)
- Shawn Hargreaves's Homepage(頁面存檔備份,存於互聯網檔案館)
- Games Using Allegro(頁面存檔備份,存於互聯網檔案館)