2013-04-12 30 views
2

我希望你能幫我解決問題。哪個更好?開始Allegro或OpenGL

我是一個新手視頻遊戲程序員。我可以開發Flash,Unity,Android遊戲,並且我知道一點CryEngine。另外,我想在未來開發3D視頻遊戲。

所以,我決定學一門視頻遊戲庫,我可以用C/C++的工作。但是,我應該學習Allegro還是OpenGL或不同的庫?還是應該直接開始學習DirectX編程?學習快板編程是有用的(一個很好的基礎),或者只是浪費時間?

+3

這不是一個適合本網站的問題。 –

回答

6

但我應該學習快板或OpenGL或不同的圖書館嗎?

首先:OpenGL是不是圖書館!它的'L'曾經意味着圖書館,但它最好是將它作爲「圖層」進行撤銷,因爲這就是OpenGL現在的真實情況:程序和圖形硬件之間的一層。

OpenGL是不是一個遊戲引擎,它不是一個遊戲圖形庫。 OpenGL是一個低級繪圖API。你可以用它來以奇特的方式繪製點,線和三角形。但是在OpenGL中沒有場景,沒有對象等。所有這些都必須由遊戲引擎來實現。編寫遊戲引擎是非常艱苦的工作。如果你真的想要這樣做,我建議你看看一年前發佈的Doom3的源代碼。

3

Allegro幾乎與OpenGL無關。

Allegro是一個簡單的遊戲開發提供基本的2D圖形原語,用戶輸入,文本,聲音,定時器等基本框架...你可以使用Allegro下的OpenGL,但沒有緊密和專業的整合。

OpenGL是一個低級API,專門用於圖形。

如果你已經知道了團結的CryEngine,堅持給他們。使用OpenGL自己實現一小部分功能將是一個巨大的難題。這並不意味着你不應該學習一些OpenGL,即使爲了好奇和理解低層次的東西是如何工作的。

DirectX是平臺有限,雖然這是事實廣大遊戲平臺都支持DX,ARM手機平臺都在上升,和DirectX不會在它們上面運行。 OpenGL幾乎可以匹配D3D所提供的所有功能,而且它更具可移植性,所以它是更值得投資的API,除非您專注於Windows遊戲。那麼學習D3D是有道理的,它比較容易使用。

很多的遊戲引擎,包括統一,將抽象的圖形API路程,用什麼目標平臺提供了最佳的。另外,請記住,在Windows 8的「metro」模式下OpenGL不可用,因此如果您想在城域模式下使用高級圖形,或者使用ANGLE並使用ANGLE的更多基本子集,您將不得不使用D3D在D3D之上用ANGLE模擬的OpenGL。

+0

您對Allegro的評論意味着什麼?版本5直接在OpenGL上構建。它的確適用於2D遊戲,但它也可以用作任何類型應用程序的跨平臺窗口和輸入庫。它不是一個引擎,並且與其他提到的其他東西無法比擬。 – Matthew

+0

從來沒有說過Allegro是一個引擎。我發現哪部分答案不正確? – dtech

+0

沒有什麼,但有些人可能會誤解你的意思,「它幾乎與OpenGL無關」。一方面,是的,你可以在不知道任何OpenGL的情況下使用Allegro,但它有助於理解它如何使用OpenGL,以便更有效地使用它。如果你和Allegro一起使用OpenGL,你可以做更多先進的事情。 – Matthew