2011-05-02 68 views
2

不啓動火焰戰爭....
但我在OpenGL的OpenGL超級的4章和書籍組織不是一個初學者很有幫助,
我我們一直在對每種API的背景進行一些研究,但是很多手指都將Direct3D作爲未來更簡單的API,考慮到他們實際進行的能力,添加新功能並將其提供出去。學習曲線在OpenGL VS的Direct3D +等遊戲組件

主要雖然,我不知道是否有任何一個陡峭的學習曲線,因爲我發現的OpenGL相當困難得到使用我的書去......

我應該切換到Direct3D的,如果它更容易學習,如果他們能夠再次回到Direct3D,可能會在稍後返回到OpenGL?

順便說一句,我hping學習這個東西在學習C++一年和未來的遊戲編程的背景下,所以我還需要弄清楚如何獲得音頻,ai等等。 ...

謝謝!! =)

回答

2

您應該切換到Direct3D嗎?問問自己以下幾個問題:

  • 你想綁定到只適用於Windows開發? [是/否]
  • 您是否準備好每次API的主要版本增加時都花時間學習新的API設計? [是/否]
  • 如果只有在發佈下一個主要版本的API之前有一些重大延遲才能使用新的GPU世代的功能,那麼你還好嗎? [YES/NO]

如果您的回答上述任何與YES,則Direct3D是正確的選擇。否則,我建議使用OpenGL:

  • OpenGL適用於所有主要操作系統和平臺以及更加模糊的平臺。
  • OpenGL的API設計驚人的穩定,基本原理十年沒有改變。看看開源遊戲Nexuiz Classic,它主要基於Darkplaces引擎,它是對開源的Quake2引擎(針對OpenGL-1.1編寫)的改進,並且已經更新以支持所有的現代口哨和鐘聲基於着色器的渲染。
  • OpenGL的擴展機制允許GPU供應商在發佈日期訪問最新一代的功能。使用Direct3D,你不得不等到微軟發佈下一個版本。當NVidia在2006年發佈GeForce8800時,它需要半年時間,直到Joe Average Developer可以爲其新功能編寫Direct3D代碼。然而,通過OpenGL擴展,OpenGL程序可立即訪問它;我記得我購買GeForce8800的一天(正式發佈4天后)將其裝入我的機器,並在當天晚上開始使用幾何着色器。
1

這聽起來對我來說就像你有這個倒退的大部分。

OpenGL絕對比Direct3D更容易學習 - 特別是,您可以對簡單的東西使用直接模式,在這些東西中您不關心性能,並延遲處理頂點緩衝區和像素緩衝區等等。曾經有一個顯著的性能的缺點相比,Direct3D的,而且進展相對緩慢增加新的功能

的OpenGL。新的發展被移交給Khronos工作而回。雖然有關於一些步驟的Khronos已經採取了一些爭議,他們已經做得相當不錯,在功能奇偶校驗,並且它是一個幾年以來我見過的任何真正的性能優勢,支持Direct3D無論是。