glGenVertexArrays causa locking

Mi código sigue fallando en el time de ejecución, he realizado algunas depuraciones creativas y he determinado que fueron lasGlGenVertexArrays las que causaron el queuepso, miré alnetworkingedor y encontré algunas respuestas que me indicaron habilitar el modo experimental en GLEW, pero eso no trabajo, hasta donde puedo decir que mi tarjeta gráfica lo admite, mi versión opengl es 3.1. Estoy usando freeGLUT y GLEW

aquí está el código, la línea en cuestión es 45 http://hastebin.com/rekizejuza.cpp

std::cout << "made it here\r\n"; glGenVertexArrays(1, &meshID); std::cout << "not here here\r\n"; glBindVertexArray(meshID); 

Una razón común para las desreferences de puntero nulo en las llamadas a las funciones de OpenGL más nuevas es que las proporciona una biblioteca wrangler de extensión como GLEW a través de pointers de function que se cargan dinámicamente en time de ejecución.

Para que se inicialicen, debe ejecutar la function de initialization de GLEW.

El lugar correcto para llamar a glewInit() es después de que haya obtenido un context OpenGL y lo haya actualizado, pero antes de usar cualquiera de los pointers de function de extensión expone.

Mencionaste que estarías usando GLEW. Si es así, el símbolo glGenVertexArrays debería ser simplemente una variable global simple de tipo puntero a function. Para saber si está disponible, puede probarlo para null:

 if (glGenVertexArrays == NULL) { // chances are you don't have this feature... } 

Si es nulo, entonces tiene un problema con GLEW o es probable que la característica no sea compatible con su sistema.

En caso de que no tenga VAO, aún puede renderizar de la misma manera. Simplemente elimine las llamadas VAO y recuerde siempre restablecer el formatting de vértice antes de dibujar. Es decir: glVertexAttribPointer .

Además, asegúrese de tener el buceador GL más reciente. Podría ayudar.