【问题标题】:Can't figure out why this OpenGL program is not rendering无法弄清楚为什么这个 OpenGL 程序没有渲染
【发布时间】:2011-12-20 01:23:01
【问题描述】:

我编译了Joe Groff's "An intro to modern OpenGL: Hello World: The Slideshow。 我使用 Mingw-w64 和 freeglut、Glut 3.7 和一个创建我自己的上下文的版本来编译它。

但是,当我运行程序时,图像并没有像预期的那样来回淡出,我不知道为什么(花了一整天的时间)。

另外,我检查了除了着色器之外的大部分输入和输出,没有发现任何错误,有人有什么想法吗?

【问题讨论】:

  • 您是否使用完全相同的代码? github.com/jckarter/hello-gl 任何 OpenGL 错误?
  • @Bart:是的,完全相同的代码,我还在render() 的末尾调用了glGetError() 并且没有收到任何错误。

标签: opengl


【解决方案1】:

很可能,您的 OpenGL 版本不支持着色器。您是否有机会在虚拟机中或通过远程桌面运行?这些往往只支持 OpenGL 1.1,即使显卡/驱动程序更新得多,并且 OpenGL 1.1 不支持着色器。如果您使用的是带有集成 Intel GPU 的旧笔记本电脑,也有可能不(正确)支持着色器。

【讨论】:

  • 我使用的是英特尔 GPU,但 glGetString(GL_SHADING_LANGUAGE_VERSION_ARB); 给了我 1.20,这让我相信我会没事的。
  • 在网上搜索了一下,版本号好像不可信。我会接受这个作为答案,因为它似乎是唯一合理的原因。如果您知道验证着色器是否正常工作的方法,请告诉我。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多