glGenVertexArrays 上的 OpenGL 段错误 [英] OpenGL Segfaults on glGenVertexArrays
本文介绍了glGenVertexArrays 上的 OpenGL 段错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
OpenGL 或 SDL 在到达类中的第一个语句时会出现段错误.我不知道是什么原因造成的.
OpenGL or SDL segfaults when it reaches the very first statement in the class. I have no idea what is causing it.
class RenderEngine {
GLuint vertexArrayId;
GLfloat[] vertexBufferData = [
-1.0f, -1.0f, 0.0f,
1.0f, -1.0f, 0.0f,
0.0f, 1.0f, 0.0f
];
GLuint vertexBufferId;
public this() {
glGenVertexArrays(1, &vertexArrayId); // SEGMENTATION FAULT / RETURN -11
glBindVertexArray(vertexArrayId);
glGenBuffers(1, &vertexBufferId);
glBindBuffer(GL_ARRAY_BUFFER, vertexBufferId);
glBufferData(GL_ARRAY_BUFFER, vertexBufferData.length * GLfloat.sizeof, vertexBufferData.ptr, GL_STATIC_DRAW);
}
public void render() {
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, vertexBufferId);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, cast(void*) 0);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableVertexAttribArray(0);
}
}
推荐答案
我忘了设置 OpenGL 上下文.现在都修好了.
I forgot to setup an OpenGL context. All fixed now.
这篇关于glGenVertexArrays 上的 OpenGL 段错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文