2010-02-28 62 views
0

有沒有人有在Windows上編寫專業OpenGL遊戲的經驗?對於Mac來說,由於蘋果的控制,操作系統看起來相當「統一」。對於windows,由於硬件不同,安裝的驅動程序不同等等,硬件基礎似乎有許多不同的配置。針對桌面/平臺問題的OpenGL遊戲開發

理論上,OpenGL提供了一個將所有這些抽象出來的API。在實踐中,很多驅動程序往往是越野車,並有奇怪的情況 - 這是在Windows上開發遊戲的問題嗎?

謝謝!

回答

1

兩家最大的GPU供應商(Nvidia和ATI)都提供OpenGL 3.x驅動程序,這些驅動程序利用了現代硬件的最新功能。正如Chris指出的那樣,主要問題在於用戶需要從供應商自己安裝最新的驅動程序,因爲Windows提供了最基本的OpenGL支持(感謝Microsoft,他們似乎盡了一切努力來斬斷OpenGL並推動的DirectX)。所以如果他們有最近的車手,你應該沒問題。

司機之間不可避免地存在一些(主要是次要的)差異。例如,我注意到Nvidia的GLSL編譯器比ATI更加挑剔,並且拒絕了一些可以正常工作的着色器代碼。底線是你需要測試兩個(你會做什麼)。

gDebugger工具似乎很好地追蹤性能問題。 (儘管使用Xcode免費發佈的OpenGL工具非常棒。)

您需要從OpenGL extensions registry獲得glext.h,並找出您的應用的基本要求。如果您可以提供幫助,您可能不希望基於哪些擴展可用的替代代碼路徑!如epatel提到的,有幾個庫(如GLEW和GLEE)可以幫助進行擴展管理。我最終寫了自己的,因爲我不喜歡那些實現。

如果你還沒有選擇你的工具集,OpenGL有很多引擎和場景圖。

我發現了一些小錯誤,但幾乎所有的東西都很容易解決。現在事情很好。

0

我還沒有在Windows上製作過專業OpenGL遊戲,但我認爲重要的一點是查詢OpenGL驅動程序關於哪些功能(擴展)可用並處理這些功能。還有一個軟件包可以與平臺無關的方式與GLEW庫進行處理。認爲這是瞭解如何處理不同OpenGL功能的良好開端。

OpenGL擴展牧馬人圖書館(GLEW)是一個跨平臺的開源C/C++擴展加載庫。 GLEW提供高效的運行時機制來確定目標平臺上支持哪些OpenGL擴展。 OpenGL核心和擴展功能暴露在單個頭文件中。 GLEW已經在各種操作系統上進行了測試,包括Windows,Linux,Mac OS X,FreeBSD,Irix和Solaris。

1

您將面臨的最大問題就是:Windows 7不附帶硬件OpenGL。如果用戶沒有采取行動來用供應商站點的更新版本替換默認視頻驅動程序,他們唯一的OpenGL支持將是〜v1.0軟件渲染器。