【问题标题】:Combine WGL with GLUT for shapes under Windows 7 OpenGL. Missing GLUT INIT?在 Windows 7 OpenGL 下将 WGL 与 GLUT 组合用于形状。缺少 GLUT 初始化?
【发布时间】:2013-01-18 10:24:14
【问题描述】:

我正在使用 Win32 API 处理 OpenGL。因此我使用 wgl (Wiggle)。一切顺利。除非我想使用 FREEGLUT 库中的一些形状。例如,茶壶。我在看freeglut的源代码,似乎当我发出一个 glutSolidTeaPot(1.0); ,因为宏而存在程序:FREEGLUT_EXIT_IF_NOT_INITIALISED("glutSolidSphere");它调用 fgerror,它有一个 exit(1)。

因此,我得到的症状很明显。当我在没有任何 GLUT 命令(如茶壶)的情况下运行 OPENGL 程序时,它运行良好。如果我使用茶壶,它就会退出。

我很清楚,我缺少初始化。问题是我是否可以初始化(以及如何) glut 以用于我的 wgl 上下文中的形状......如果这是不可能的,我想我可以自己创建形状。如果可能的话,使用它们会更快。

到目前为止,我发现的所有示例都指向在仅使用 glut 时如何初始化 glut。

我使用的是 Windows 7 64、Visual Studio 2012、NVIDIA 330m、FreeGlut

【问题讨论】:

    标签: c++ opengl glut freeglut


    【解决方案1】:

    FreeGLUT 不打算部分使用。它是一个用于创建和管理 OpenGL 渲染上下文的系统。它具有实用程序功能,但其主要目的是创建和管理窗口。因此,如果您不使用 FreeGLUT 来创建和管理 OpenGL,那么您也无法将其用于其他事情。

    【讨论】:

    • 看代码的时候,好像是可以的。有人做过吗?如果他们不使用 GLUT,他们对 glut 库中包含的某些形状使用什么。我知道有一个旧的 AUX 库,但我也读过它没有维护,建议不要使用它。
    • 我的意思是,有可能,这可能需要在 FreeGlut 中更改如此多的代码,甚至可能不值得。我总是可以从那里复制和粘贴我需要的内容......并进行一些更改
    【解决方案2】:

    虽然结合 GLUT 和 WGL (Wiggle) 似乎是不可能的(这是正确的),但我查看了代码,似乎可以对其进行更改以使其工作。当然,为什么要让它工作?由于 GLUT (FreeGlut) 具有的其他实用程序......就像创建一个球体...... 更好的方法是创建一个现代库来完成所有这些工作......当然,你有一些几何库,但我没有检查它们。 我说的是更像 AUX 库的东西,但是是最新的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      相关资源
      最近更新 更多