跳至內容

Allegro

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

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