包含內容
Tao包裝了許多C庫(見表1),並使得在C#中使用這些函式變得很簡單。Mono,所以也可以用在Linux和Mac中。
OpenAL
代表開放音頻庫(Open Audio Library),是一個強大的開源庫。《生化奇兵(BioShock)》、《雷神之錘4(Quake 4)》、《毀滅戰士3(Doom III)》和《虛幻(Unreal)》等遊戲都使用了這個音頻庫。它採用OpenGL作為模型,具有相同的狀態機風格的設計和擴展方法。
SDL(Simple DirectMedia Layer)
是一個跨平台的庫,支持輸入、聲音和圖形。SDL在遊戲開發商中非常流行,在獨立或者開源遊戲中使用得尤其多。使用SDL開發的最著名的開源遊戲之一是FreeCiv,它是《文明(Civilization)》的一個在線上版本。多數Linux遊戲連線埠中也使用了SDL。
PhysFs
初看起來可能是一個物理庫,但是實際上卻是一個小型的IO庫。它可以將全部遊戲資源打包為一個較大的二進制檔案,或者幾個小的二進制檔案。許多商業遊戲都有類似的系統,例如《毀滅戰士(Doom)》的wad系統或《雷神之錘(Quake)》的pak系統。它可以使遊戲在發布後的修改和更新變得更加簡單。
FreeGLUT
是OpenGL實用程式工具包的免費版本。這個庫中的函式可以讓用戶馬上就能夠使用OpenGL。它還有從鍵盤和滑鼠接受輸入的方法,以及繪製各種基本形狀的方法,例如球形、立方形,甚至茶壺形(這個茶壺在計算機圖形學中非常有名,它是由Martin Newell在猶他大學求學期間進行建模的。茶壺是一個非常複雜的表面,所以在測試新的圖形技術時非常有用。動畫電影《玩具總動員》中就有一個典型的茶壺模型,DirectX甚至有自己的茶壺創建方法D3DXCreateTeapot( )。在講授OpenGL時經常用到FreeGLUT,但是它的功能很有限,很少用於真正的項目。
ODE
Open Dynamics Engine
是一個可以用在多個平台上的物理引擎,可以完成碰撞檢測和剛體模擬。PC上的第一人稱射擊遊戲《潛行者(S.T.A.L.K.E.R)》中就使用了ODE。Glfw是可以通過Tao使用的第三個可移植的OpenGL包裝器。Glfw代表OpenGL框架(OpenGL framework),它的目的是擴展GLUT提供的功能。如果不想使用SDL,但又確實想使用框架來訪問OpenGL,就可以考慮使用Glfw。
DevIL(Developer's Image Library)
是一個從磁碟載入紋理到OpenGL中的庫。DevIL與OpenGL有些類似,因為它也是一個狀態機,並且有類似的方法名稱。DevIL是跨平台的,支持多種(43種)不同的圖片格式。Cg是本章前面提到的一種著色器語言。通過使用Tao . Cg,可以從文本檔案或字元串中載入著色器程式,進行處理,然後在OpenGL中使用。
Lua
可能是遊戲開發中最流行的腳本語言。它是一種小型的、易於嵌入的語言,表達力非常強。使用Tao.Lua可以在腳本和C#程式之間傳遞函式和數據。Tao.FreeType是一個基本的字型包,可以將FreeType類型的字型轉換成一幅點陣圖。它的接口簡單易用。
Tao提供的最後一個庫是FFmpeg,這個名稱由MPEG(一個視頻標準)和FF(Fast Forward,快進)組成。它提供了一種播放視頻的方式。如果想要在遊戲中使用過場動畫,FFmpeg是一個不錯的選擇。
包含的庫
庫 | 用 途 |
OpenAl | OpenAL是一個強大的音頻庫 |
OpenGl | OpenGL是我們將要使用的圖形庫 |
Sdl | SDL(Simple DirectMedia Layer),一個構建在OpenGL之上的2D庫 |
Platform.Windows | 支持通過Windows.Forms使用OpenGL |
PhysFs | 一個I/O的包裝器,支持遊戲資源的存檔檔案,如.zip檔案 |
FreeGlut | OpenGL實用程式工具包(OpenGL UtilityToolkit)是一組包裝器,用於設定OpenGL程式和一些繪圖例程 |
Ode | Open Dynamics Engine是在遊戲中使用的一個實時物理引擎 |
Glfw | OpenGL Framework是一個可以在多個平台上使用的輕量級的包裝器類 |
DevIL | DevIL是將各種圖片類型(bmp、tif、gif、png等)載入到OpenGL的出色的工具 |
Cg | Cg是一種高級著色語言 |
Lua | Lua是遊戲業最常用的腳本語言之一 |
FreeType | 字型包 |
FFmpeg | 主要用於播放視頻 |