关于glGenVertexArrays调用的程序崩溃

asb*_*ste 11 c++ opengl

我正在尝试学习如何在opengl中编程并使用本教程.教程1工作正常,教程2崩溃返回1.

它失败了:

GLuint VertexArrayID;
glGenVertexArrays(1, &VertexArrayID);
glBindVertexArray(VertexArrayID);
Run Code Online (Sandbox Code Playgroud)

特别:

glGenVertexArrays(1, &VertexArrayID);
Run Code Online (Sandbox Code Playgroud)

有什么建议?与glGenVertexArrays调用相关但从未解决OpenGL,FreeGlut和Glew崩溃

ema*_*tel 18

看完这个帖子后,看来就是打电话

glewExperimental = GL_TRUE; 
glewInit();
Run Code Online (Sandbox Code Playgroud)

会解决问题.在这里阅读glewExperiemental ,它说

GLEW从图形驱动程序获取有关受支持的扩展的信息.但是,实验或预发布驱动程序可能不会通过标准机制报告每个可用的扩展,在这种情况下,GLEW将报告它不受支持.为了避免这种情况,可以通过在调用glewInit()之前将其设置为GL_TRUE来打开glewExperimental全局开关,这将确保将公开具有有效入口点的所有扩展.

我不太确定glGenVertexArrays有什么用,但是值得一试

  • 哇,GLEW的言论值得一位政治家.基本上,GLEW并不真正支持核心配置文件OpenGL上下文,即使我们已经拥有它们3年了.他们在那里有这个黑客,他们用它来切换任何阻止他们做的事情[其他GL加载器](http://www.opengl.org/wiki/OpenGL_Loading_Library)做得很好而没有明确的切换.就个人而言,我会说你应该停止使用GLEW,因为他们多年来一直无法在这上面采取行动. (2认同)