3

我遇到了一个问题,即在 Windows 8 上通过 VS 2012 运行简单的 OpenGL 应用程序时没有呈现任何内容。

我有一个小调试渲染器,我用它来制作一些项目的原型,并使用 VS 2012 Express Edition 在 Windows 7 上启动并运行它。

我升级到 Windows 8,并用我的工作克隆了 git 存储库。安装最新的驱动程序并安装 VS 2012 后,我运行了我的应用程序,但没有显示任何内容,我得到的只是屏幕清晰的颜色。我之前遇到过异常,但那是因为我没有正确的驱动程序,所以在调用 glGetIntegerv(GL_MAJOR_VERSION,...) 时我会得到 -1,因为 OpenGL 设置不正确。它现在已正确初始化,并且在逐步执行时,看起来一切正常,唯一的问题是我什么也没看到。

为了确保它不仅仅是我的代码,我下载了一些 Swiftless OpenGL 示例并得到了完全相同的东西。我的应用程序使用的是 OpenGL 3.2,并且没有弃用的功能。我的硬件最高可以支持 3.3,如果有任何用处,我正在 Macbook air 上通过 Boot Camp 运行 Window 8。

在过去的几天里,我一直在用头撞墙试图解决这个问题,但我运气不佳,我想我会把它扔在那里看看是否有人有类似的问题,我会如果有人能提供任何信息,将不胜感激。如果使用 Windows 8 的人可以通过 VS 下载并构建一个简单的 OpenGL 应用程序,只是为了看看他们是否可以在屏幕上显示一些有趣的东西!

4

3 回答 3

2

您是否使用良好的旧且已弃用的固定功能管道,即立即模式绘制调用,如glBegin(),glVertex*()glEnd()?如果是这样,请尝试使用顶点数组绘制你的东西。即使这对您的特定情况没有帮助,也应不惜一切代价避免立即模式绘制调用,以使代码向前兼容。OpenGL 3.x 核心配置文件不再包含这些旧的 API 函数。由于一些陈旧的即时模式绘制调用 (FTGL),我的新 Win 7 笔记本电脑 (OpenGL 3.3) 上也出现了空白屏幕。

编辑:

对于独立的 GL 调试,我推荐这个:

http://www.gremedy.com/

该程序允许您暂停执行并调查缓冲区内容、着色器程序等。

于 2013-01-04T00:14:21.253 回答
1

安装最新驱动程序后

你从哪里弄来的驱动程序?只有您直接从 GPU 供应商网站下载的驱动程序才提供适当的 OpenGL 支持。Windows 自动安装的驱动程序只有很差的 OpenGL 支持。

于 2013-01-04T00:06:54.003 回答
-1

Windows 8 不提供 opengl 支持。它们仍然是在 Windows 上使用它的技术,最好在谷歌上搜索,因为我尝试过我的世界游戏,或者你也可以在这里查看

于 2013-03-16T10:12:13.900 回答