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

时间:2014-08-05 02:23:39

标签: c++ visual-studio opengl visual-studio-2013

我的系统是Win 8.1 64位并使用VS2013 Express。我可以验证我的视频卡支持最新的OpenGL和OpenCL。我分别使用了来自作者github和网站的最新代码和媒体文件:https://github.com/openglsuperbible/sb6codehttp://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更改为Console,但这会引发关于main的错误,因此它可能不是我正在寻找的。

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

任何进一步的想法都会很棒,非常有用!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

  2. 确保这些示例正在尝试加载的文件(我猜jpg / tga / png文件,可能是几何的obj / fbx / 3ds文件,这些示例需要的其他内容)都存在于预期的路径中(相对exe的路径。

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

  4. P.S。

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