与核心配置文件交换缓冲区使用无效的操作

Mas*_*tic 0 c++ opengl glut freeglut glfw

每当我调用一个函数来交换缓冲区时,我都会glDebugMessageCallback说出很多错误:

glVertex2f已从OpenGL Core上下文(GL_INVALID_OPERATION)中删除

我已经尝试过同时使用GLFW和freeglut,但都无法正常工作。

glVertex2f当然没用过。我什至甚至删除了所有渲染代码,以查看是否可以找到导致该问题的原因,但是错误仍然存​​在,就在glutSwapBuffers/ 之后glfwSwapBuffers
使用单缓冲也不会导致任何错误。

我已经将上下文初始化为4.3,核心配置文件,并标记了前向兼容性。

And*_*man 5

如评论中所述,这里的问题实际上是第三方软件,而不是您自己编写的任何代码。

当诸如Steam overlay或FRAPS之类的软件需要在OpenGL之上绘制某些东西时,通常会SwapBuffers在运行时通过将一些代码钩入/注入到您的应用程序实现中来解决此问题。

您正在使用的一款软件(RivaTuner)仍使用即时模式来绘制其覆盖图,并且该软件是每次缓冲区交换时无法解释的不赞成使用的API调用的来源。