2013-02-03 31 views
2

我正在使用Win32 API使用OpenGL。因此我使用wgl(Wiggle)。一切安好。除非我想使用FREEGLUT庫中的某些形狀。例如,茶壺。我正在查看freeglut的源代碼,看起來,當我發出一個 glutSolidTeaPot(1.0); ,它因爲宏而存在程序:FREEGLUT_EXIT_IF_NOT_INITIALISED(「glutSolidSphere」);其中調用fgerror,它有一個退出(1)。在Windows 7 OpenGL下將WGL與GLUT結合使用。缺少GLUT INIT?

因此,我得到的症狀很明顯。當我運行沒有任何GLUT命令的OPENGL程序(如茶壺)時,效果很好。如果我使用茶壺,它會退出。

很明顯,我錯過了初始化。問題是如果我可以初始化(以及如何)在我的wgl環境中用於形狀的過剩...如果這是不可能的,我想我可以自己創建這些形狀。如果可能的話,使用它們會更快。

到目前爲止,我發現的所有例子都指出如何在僅使用過剩的情況下初始化過剩。

我使用Windows 7 64時,Visual Studio 2012,NVIDIA330米,FreeGlut

回答

0

儘管看起來將GLUT和WGL(Wiggle)結合起來是不可能的(正確),但我已經看過代碼,看起來這可能會改變,以使其工作。當然,爲什麼使它工作?由於GLUT(FreeGlut)具有的額外的用途......就像創建一個球體一樣... 更好的方法是創建一個現代化的庫來完成所有這些......當然,您還有一些幾何圖形庫,但我沒有檢查它們。 我說的更像是AUX庫,但是是最新的。

3

FreeGLUT不打算在部分使用。它是一個用於創建和管理OpenGL渲染上下文的系統。它具有實用程序功能,但主要目的是創建和管理窗口。所以,如果你不使用FreeGLUT來創建和管理OpenGL,你也不會將它用於其他事情。

+0

在查看代碼時,它似乎有可能。有人做過嗎?如果他們沒有使用GLUT,那麼他們對包含在glut庫中的一些形狀使用什麼?我知道有一箇舊的AUX庫,但我也讀過這個庫,但沒有維護,建議不要使用它。 – Blues76

+0

當我的意思是,它可能是可能的,這可能需要改變FreeGlut中的這麼多代碼,甚至可能不值得。我總是可以從那裏複製和粘貼我需要的東西...並進行一些更改 – Blues76