2012-02-24 26 views
-1

我想用OpenGL做圖形編程。但我沒有任何經驗的Windows編程。任何建議?通過OpenGL的圖形編程無需windows編程

+0

如果你得到Windows編譯器,這包括一些演示程序。您可以將其中的一個用作OpenGL窗口的持有者。您可以通過堅持使用這些來避免Windows編程。 – QuentinUK 2012-02-24 02:00:37

回答

1

看到這些鏈接

請注意,您必須先在C++與這些鏈接


編輯的代碼:

我試圖過剩和SFML,無一不是更容易比單獨SDL和OpenGL使用。

GLUT非常簡單,但其範圍有限。

SFML帶來了SDL和OpenGL的好處,但帶有一個很好的C++接口,而不是SDL的舊C接口和原始OpenGL調用(仍然可以)。對於同一個項目而言,性能獲得了很大的提升,SFML只比我自己的SDL代碼更優化。

1

但我沒有任何經驗的Windows編程。任何建議?

那麼,您需要創建一個窗口,以便用戶可以看到使用OpenGL繪製的美麗圖片。但是你是對的:打開一個窗口並創建一個OpenGL上下文是很乏味的,不管你在做什麼操作系統(最簡單的可能是MacOS X的NSOpenGLView)。

幸運的是,有些庫抽象出創建窗口的操作系統相關部分,併爲其創建和附加OpenGL上下文。

  • GLUT可能是其中最古老的一種。我勸阻使用原始的GLUT,並建議使用FreeGLUT或OpenGLUT,因爲這些都是積極維護的。它們很容易使用。但GLUT不會讓你控制事件循環,這基本上意味着它不適合創建遊戲。

  • SDL實際上是一大堆子庫,主庫提供了windows的創建。還提供OpenGL支持,但尚未爲其量身定製。就個人而言,現在我會使用SDL來創建一個OpenGL窗口。但對於音頻,加載圖形等是很好的。

  • GLFW是恕我直言,最好的OpenGL框架之一。它有一個設計良好的API,可以讓你完全控制事件循環,並且被主動維護。它也專注於一項任務:創建一個OpenGL窗口併爲用戶輸入提供消息泵。

+1

SFML也是一個很好用的庫。我認爲它正在接近版本2.0的發佈。 – Robinson 2012-02-24 12:03:06

+0

SFML 2.1剛剛發佈。我今年夏天將自己的項目從SDL切換到SFML。我們還沒有最好的想法。 – 2013-08-18 06:38:57