GLEW ve freeglut öğelerini kullandıktan sonra geçersiz enum değerini döndürür. Herhangi bir nedenden dolayı, glewInit() çağrısından sonra glGetError(), glewExperimental = GL_FALSE ile bile 1280 hata kodu döndürür.OpenGL: glGetError(), glewInit()
Gölgeleri derleyemiyorum, glGetProgramInfoLog() döndürüyor "Vertex shader (ler) glLinkProgram() çağrılmadan önce başarıyla derlenemedi. Bağlantı başarısız." Gölgelendiricileri daha önce derledim.
Sürücüleri yeniden yüklemek yardımcı olmadı. Yanlış
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);
}
yapıyorum:
İşte benim kod?
GlewInitResult ile bir şey yapıyor musunuz? Belki de gliwGetErrorString'i glGetError yerine çağırmalısınız (glew sorunlarını tespit etmek için) – Tim
GlewInitResult ile hiçbir şey yapmıyorum. glewGetErrorString, "Hata yok" değerini döndürür. – Martin