Allegro
Allegro是一個特別針對於電子遊戲的開發的自由軟件程式庫。 [208][209][210]
開發者 | Allegro的開發者 |
---|---|
目前版本 |
|
原始碼庫 | |
作業系統 | 跨平台 |
類型 | 多媒體和電子遊戲相關SDK |
特許條款 | Allegro 4: Giftware(類似MIT特許條款) Allegro 5: Zlib |
網站 | liballeg |
該庫提供基本二維圖形、圖像操作、音效輸出、MIDI音樂、輸入、計時器,以及額外的尋路矩陣計算、UNICODE、檔案系統管理、有限而建基於軟件的三維圖形。
其版本4.0可以執行在DOS、Microsoft Windows、BeOS、Mac OS X、多種類Unix,程式只需要嵌入其API即可使用。該庫還有獨立的AmigaOS 4移植版。
附件
編輯Allegro社區用戶貢獻了多種擴充,包括軸捲圖塊形式的地圖、輸入輸出各種格式(有PNG、GIF、JPEG、MPEG、Ogg、MP3、IT、S3M、XM、TTF)。其還有多個語言繫結,比如 Python、Perl、Scheme、C#、D語言等。
歷史
編輯Allegro原本的含義是"Atari Low-Level Game Routines"[211] 。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硬件加速方案。[212]
功能
編輯- 向量繪製:
- 像素、線、矩形、圓柱、貝塞爾曲線等幾何圖形、
- 有圖案(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格式的動畫函數[213]
Allegro 5
編輯目前的開發着手在Allegro 5這條分支,4.9.14是其不穩定的版本。Allegro 5對庫的API及其大量的內部操作進行了完全重新的設計,致力於使API能更穩定地適用於多核間的協同工作。其預設使用OpenGL或DirectX硬件加速渲染後端,當前的大多數外掛程式都需要重寫介面。
其他
編輯參考資料
編輯- ^ http://sourceforge.net/projects/alleg/files/allegro/5.0.10/.
- ^ Release 5.0.10. 2017年4月30日 [2018年6月23日].
- ^ http://sourceforge.net/projects/alleg/files/allegro/5.0.11/.
- ^ Release 5.0.11. 2017年4月30日 [2018年6月23日].
- ^ Main page > News.
- ^ Release 5.2.1.1. 2017年4月30日 [2018年6月23日].
- ^ https://github.com/liballeg/allegro5/releases/tag/5.2.3.0; 檢索日期: 2018年1月17日.
- ^ Release 5.2.3.0. 2017年10月11日 [2024年6月24日].
- ^ https://github.com/liballeg/allegro5/releases/tag/5.2.4.0; 檢索日期: 2018年3月22日.
- ^ Release 5.2.2.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.2.1.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.2.0.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.13.1. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.13.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.12.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.11. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.10. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.9. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.8. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.7. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.6. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.5. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.4. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.3. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.2. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.1. 2017年4月30日 [2018年6月23日].
- ^ Release 5.1.0. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.9. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.8. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.7. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.6. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.5. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.4. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.3. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.2.1. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.2. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.1. 2017年4月30日 [2018年6月23日].
- ^ Release 5.0.0. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.22. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.21. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.20. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.19. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.18. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.17. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.16. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.15.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.15. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.14. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.13. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.12. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.11. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.10.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.10. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.9.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.9. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.8. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.7.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.7. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.6. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.5. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.4. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.3. 2017年4月30日 [2018年6月23日].
- ^ Release 4.9.2. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.2. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.1.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.0.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.0. 2017年4月30日 [2018年6月23日].
- ^ Release 4.3.10. 2017年4月30日 [2018年6月23日].
- ^ Release 4.3.1. 2017年4月30日 [2018年6月23日].
- ^ Release 4.3.0. 2017年4月30日 [2018年6月23日].
- ^ Release 4.4.3. 2019年2月3日 [2019年2月3日].
- ^ Release 5.2.5.0. 2019年2月26日 [2019年2月26日].
- ^ Release 4.4.3.1. 2019年3月4日 [2019年3月4日].
- ^ Release 3.9.39. 2017年4月30日 [2019年6月16日].
- ^ Release 3.9.40. 2017年4月30日 [2019年6月16日].
- ^ Release 4.0.0. 2017年4月30日 [2019年6月16日].
- ^ Release 4.0.1. 2017年4月30日 [2019年6月16日].
- ^ Release 4.0.2. 2017年4月30日 [2019年6月16日].
- ^ Release 4.0.3. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.0. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.1. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.2. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.3. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.4. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.5. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.6. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.7. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.8. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.9. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.10. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.11. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.12. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.13. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.14. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.15. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.16. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.17. 2017年4月30日 [2019年6月16日].
- ^ Release 4.1.18. 2017年4月30日 [2019年6月16日].
- ^ Release 4.2.0. 2017年4月30日 [2019年6月16日].
- ^ Release 4.2.1. 2017年4月30日 [2019年6月16日].
- ^ Release 4.2.2. 2017年4月30日 [2019年6月16日].
- ^ Release 4.2.3. 2017年4月30日 [2019年6月16日].
- ^ Release 4.2.3.1. 2017年4月30日 [2019年6月16日].
- ^ Release 5.2.6.0. 2020年2月10日 [2020年5月6日].
- ^ https://github.com/liballeg/allegro5/releases/tag/5.2.7.0.
- ^ https://github.com/liballeg/allegro5/releases/tag/5.2.8.0.
- ^ Release 4.0.3. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.0. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.2. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.3. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.4. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.5. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.6. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.7. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.8. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.9. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.10. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.11. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.12. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.13. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.14. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.15. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.16. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.17. 2017年4月30日 [2024年6月24日].
- ^ Release 4.1.18. 2017年4月30日 [2024年6月24日].
- ^ Release 4.2.0. 2017年4月30日 [2024年6月24日].
- ^ Release 4.2.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.2.2. 2017年4月30日 [2024年6月24日].
- ^ Release 4.2.3. 2017年4月30日 [2024年6月24日].
- ^ Release 4.2.3.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.3.0. 2017年4月30日 [2024年6月24日].
- ^ Release 4.3.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.3.10. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.0. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.0.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.1.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.2. 2017年4月30日 [2024年6月24日].
- ^ Release 4.4.3. 2019年2月3日 [2024年6月24日].
- ^ Release 4.4.3.1. 2019年3月4日 [2024年6月24日].
- ^ Release 4.9.2. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.3. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.4. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.5. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.6. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.7. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.7.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.8. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.9. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.9.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.10. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.10.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.11. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.12. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.13. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.14. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.15. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.15.1. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.16. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.17. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.18. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.19. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.20. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.21. 2017年4月30日 [2024年6月24日].
- ^ Release 4.9.22. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.1. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.2. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.2.1. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.3. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.4. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.5. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.6. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.7. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.8. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.9. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.10. 2017年4月30日 [2024年6月24日].
- ^ Release 5.0.11. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.1. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.2. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.3. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.4. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.5. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.6. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.7. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.8. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.9. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.10. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.11. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.12.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.13.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.1.13.1. 2017年4月30日 [2024年6月24日].
- ^ Release 5.2.0.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.2.1.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.2.1.1. 2017年4月30日 [2024年6月24日].
- ^ Release 5.2.2.0. 2017年4月30日 [2024年6月24日].
- ^ Release 5.2.4.0. 2018年2月25日 [2024年6月24日].
- ^ Release 5.2.5.0. 2019年2月26日 [2024年6月24日].
- ^ Release 5.2.6.0. 2020年2月10日 [2024年6月24日].
- ^ Release 5.2.7.0. 2021年3月8日 [2024年6月24日].
- ^ Release 5.2.8.0. 2022年6月6日 [2024年6月24日].
- ^ Release 5.2.9.0. 2023年11月25日 [2024年6月24日].
- ^ Release 5.2.9.1. 2024年1月20日 [2024年6月24日].
- ^ Rekease 5.2.10.0. 2024年11月27日 [2024年12月25日].
- ^ Harbour, Jonathan. Game Programming All in One, Second Edition. Course Technology PTR. 2004. ISBN 1592003834.
- ^ Steinke, Lennart. Spielprogrammierung. BHV Verlag. 2003. ISBN 3826680758.
- ^ P. J. Deitel, P. J. C How to Program. HowtoProgram. Prentice Hall. 2006. ISBN 0-13-240416-8.
- ^ Forum posting by Shawn Hargreaves. [2009-10-26]. (原始內容存檔於2009-01-08).
- ^ Daniel Borca. Mesa 3-D graphics library. [2009-10-26]. (原始內容存檔於2009-10-25).
- ^ Allegro Introduction. [2009-10-26]. (原始內容存檔於2009-12-01).
外部連結
編輯(英文)
- Allegro(頁面存檔備份,存於互聯網檔案館)
- Allegro 5 Documentation(加拿大伺服器(頁面存檔備份,存於互聯網檔案館)、美國伺服器)
- Allegro Wiki(頁面存檔備份,存於互聯網檔案館)
- Allegro 5(頁面存檔備份,存於互聯網檔案館)
- Allegro 5 Tutorials(頁面存檔備份,存於互聯網檔案館)
- allegro.cc(頁面存檔備份,存於互聯網檔案館)
- Shawn Hargreaves's Homepage(頁面存檔備份,存於互聯網檔案館)
- Games Using Allegro(頁面存檔備份,存於互聯網檔案館)