2011-04-09 116 views
8

我還沒有找到一個不包含GLUT的好資源,因爲它是後端。當然有Nehe教程,但我覺得那些有些模糊。它使用Win32 API,但我想執行跨平臺開發。雖然它應該是跨平臺的,但GLUT有些針對Windows而不是其他2。在沒有GLUT的情況下教授OpenGL有哪些好的資源?並且請不要建議FreeGLUT,這基本上就是GLUT。學習沒有GLUT的OpenGL?

+2

如果您正在嘗試學習_OpenGL_,爲什麼要擔心後端?在典型的圖形代碼中,影響很小。無論如何,它通常被抽象出來。首先在你運行的任何平臺/後端學習OpenGL,稍後擔心後端和跨平臺。 – 2011-04-10 05:12:17

+0

http://stackoverflow.com/questions/879035/initializing-opengl-without-glut – 2016-03-16 10:47:56

回答

3

我看不出FreeGLUT是如何比其他任何主流操作系統更適合Windows的 - 這個API是跨平臺的,而FreeGLUT是一個非常穩定的項目,它在它聲稱的操作系統上運行良好支持。你以什麼證據爲基礎?也就是說,您可以使用SDLJogAmp API。然而,後者是用Java編寫的,但如果你非常擔心在不重新編譯源代碼的情況下保持跨平臺的支持,那麼你可能要考慮用Java編程。 JogAmp API包括對OpenGL,Op​​enCL,OpenMAX的支持,並且支持輕量級本機窗口,所以性能損失不應該太劇烈。此外,JOGL提供對各種OpenGL配置文件的支持,並有助於選擇您希望在應用程序中支持的最小OpenGL版本。

8

最重要的是,您已經理解OpenGL與GLUT無關。是的,自己做所有操作系統特定的東西變得單調乏味。

我現在推薦人們使用GLFW http://glfw.org,這是一個非常好的OpenGL框架,全面支持OpenGL-3並內置了擴展加載機制。 GLFW不像GLUT那樣有一個黑盒子事件循環,它可以讓你完全控制事件的處理方式。

一旦您的要求變得更高級,您最終可能會編寫自己的框架,但對於大多數項目而言,GLFW是一個很好的選擇。

當然,大多數傳統的工具包,如GTK +,Qt,wxWidgets,Fox ...提供了一些OpenGL小部件。

1

退房從http://www.galaxy-forces.com/

它初始化和使用OpenGL沒有過剩或其他庫的代碼。支持Windows,Mac和Linux。

我知道有不想使用其他庫的原因...所有其他答案試圖讓你使用其他庫。

我想這個答案是一樣的,但至少你會有代碼。所有是公共領域。