如何在 OpenGL Superbible 第 6 版中构建和运行示例?

Posted

技术标签:

【中文标题】如何在 OpenGL Superbible 第 6 版中构建和运行示例?【英文标题】:How to build and run examples in OpenGL Superbible 6th edition? 【发布时间】:2014-08-05 02:23:39 【问题描述】:

我的系统是 Win 8.1 64 位并使用 VS2013 Express。我可以验证我的视频卡是否支持最新的 OpenGL 和 OpenCL。我分别使用了作者 github 和站点的最新代码和媒体文件:https://github.com/openglsuperbible/sb6code 和 http://www.openglsuperbible.com/example-code/。

我能够成功地对项目进行调试和发布构建,但无法通过调试模式或 bin 文件夹中的 .exe 正确运行它。将出现一个白色窗口,然后退出。我能够逐步完成并发现 glfwOpenWindow 将返回 false 导致退出,但我无法进一步了解它为什么会返回。我发现了一些建议更改的解决方案

glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

glfwOpenWindowHint(GLFW_OPENGL_PROFILE, 0);

但这不会改变我的结果。我还可以验证书籍代码的主要版本是 4,次要版本是 3。我发现其他几个人有同样的问题,但没有解决方案。另一种可能的解决方案(但似乎是一个不同的问题)是将项目子系统从 Windows 更改为控制台,但这会引发关于 main 的错误,因此它可能不是我想要的。

作为参考,本书使用的是 glfw 版本 2.7.6,而(当前)最新版本是 3.0.4。我也尝试过交换它,但可以理解的是,由于所有的变化,它爆炸了。

任何进一步的想法都会很棒而且很有帮助!

【问题讨论】:

【参考方案1】:

我发现虽然我的 GPU 确实支持最新的 OpenGL,但我的计算机却使用集成的 Intel HD 4600!通过将我的计算机切换为默认使用专用 GPU,我可以运行最新的 OpenGL。

【讨论】:

可爱!你去:-)【参考方案2】:

如果编译成功,请执行以下操作:

    确保您安装了最新的显卡驱动程序(例如,如果您有 nVIDIA 卡,请访问 www.nvidia.com 并获取最新的驱动程序)。

    1234563 exe的路径)。

    将其作为调试运行,在应用程序初始化中放置断点,查看 OpenGL 是否已正确初始化并已加载所需文件。我想你会发现所需的文件不在预期的路径中。

附言

我认为学习 OpenGL 的最佳实践是不要依赖某些库来为您打开窗口并初始化 OpenGL - 最好一步一步地学习 - 如何打开应用程序窗口,如何初始化 gl 渲染上下文与设备上下文等相关联。当您不知道问题出在哪里时,您也可以避免这样的事情。

【讨论】:

感谢您的回复! 1. 我确实有能够运行最新 OpenGL 的最新驱动程序 - 它是 Nvidea GTX 760M。 2. 这些文件在适当的位置,尽管我正在测试没有这个额外故障点的文件。 3. 当我这样做时,如前所述,我在 glfwOpenWindow 上遇到了故障,并且在此之前没有看到任何错误。虽然我同意你的最后一点,并且确实计划学习所有不同的组件,但对于我和其他购买这本书的人来说,能够快速运行示例并跟随这本书学习仍然非常好。

以上是关于如何在 OpenGL Superbible 第 6 版中构建和运行示例?的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL SuperBible 头文件问题

如何从 SuperBible 获取 GLTools 库以在 Ubuntu 中工作?或替代方案? [关闭]

OpenGL顶点缓冲区对象,我可以访问顶点数据以用于其他用途,例如碰撞检测吗?

OpenGL 从入门到成魔-第6章- Uniform 变量的使用

OpenGL 从入门到成魔-第4章-VAO 和 VBO

C ++ OpenGL:如何在圆柱体上制作第二个圆圈?