OpenGL: glGetError () gibt nach Aufruf von glewInit () eine ungültige Aufzählung zurück
Ich benutze GLEW und Freeglut. Aus irgendeinem Grund gibt glGetError () nach einem Aufruf von glewInit () den Fehlercode 1280 zurück, selbst mit glewExperimental = GL_FALSE.
Ich kann die Shader nicht kompilieren, glGetProgramInfoLog () gibt zurück "Vertex-Shader wurden nicht erfolgreich kompiliert, bevor glLinkProgram () aufgerufen wurde. Link fehlgeschlagen." Ich konnte die Shader schon einmal kompilieren.
Neuinstallation der Treiber hat nicht geholfen.
Hier ist mein Code:
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);
}
Was mache ich falsch?