gpt4 book ai didi

c++ - OpenGL:调用 glewInit() 后 glGetError() 返回无效枚举

转载 作者:IT老高 更新时间:2023-10-28 21:42:23 26 4
gpt4 key购买 nike

我使用 GLEW 和 freeglut。出于某种原因,在调用 glewInit() 后,glGetError() 返回错误代码 1280,即使 glewExperimental = GL_FALSE 也是如此。

我无法编译着色器,glGetProgramInfoLog() 返回“顶点着色器在调用 glLinkProgram() 之前没有成功编译。链接失败。”我之前能够编译着色器。

重新安装驱动程序没有帮助。

这是我的代码:

int main(int argc, char* argv[])
{
GLenum GlewInitResult, res;

InitWindow(argc, argv);

res = glGetError(); // res = 0

glewExperimental = GL_TRUE;
GlewInitResult = glewInit();

fprintf(stdout, "ERROR: %s\n", glewGetErrorString(GlewInitResult)); // "No error"
res = glGetError(); // res = 1280

glutMainLoop();

exit(EXIT_SUCCESS);
}

void InitWindow(int argc, char* argv[])
{
glutInit(&argc, argv);

glutInitContextVersion(4, 0);
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
glutInitContextProfile(GLUT_CORE_PROFILE);

glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,
GLUT_ACTION_GLUTMAINLOOP_RETURNS);

glutInitWindowPosition(0, 0);
glutInitWindowSize(CurrentWidth, CurrentHeight);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);

WindowHandle = glutCreateWindow(WINDOW_TITLE);

GLenum errorCheckValue = glGetError();

if (WindowHandle < 1)
{
fprintf(stderr, "ERROR: Could not create new rendering window.\n");
exit(EXIT_FAILURE);
}

glutReshapeFunc(ResizeFunction);
glutDisplayFunc(RenderFunction);
glutIdleFunc(IdleFunction);
glutTimerFunc(0, TimerFunction, 0);
glutCloseFunc(Cleanup);
glutKeyboardFunc(KeyboardFunction);
}

我做错了什么?

最佳答案

你看到这个 wiki 页面上的评论了吗?

http://www.opengl.org/wiki/OpenGL_Loading_Library

它提到了为什么会发生这种情况,并说“在某些情况下,根据您的 glew 版本指定 glewExperimental 后,您可能仍会得到 GL_INVALID_ENUM”。

听起来,只要您没有发现任何其他问题,就可以放心地忽略它。

关于c++ - OpenGL:调用 glewInit() 后 glGetError() 返回无效枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com