我一直在尝试使用 openGL 制作小行星克隆,并且完全陷入了分段错误,我不确定如何修复。它似乎发生在函数 glGenBuffersARB() 的使用上。如果我使用顶点缓冲区注释掉这些行,程序编译并运行良好(但显然没有渲染)。我在 eclipse 上使用 minGW 编译器和 gdb 调试器,并尝试使用扩展,这样我就可以支持 1.5 之前的 OpenGL 版本。
glGenBuffers(1, &_VertexBufferObject);
glBindBufferARB( GL_ARRAY_BUFFER_ARB, _VertexBufferObject ); // Bind The Buffer
glBufferDataARB( GL_ARRAY_BUFFER_ARB, U8VertexCount*3*sizeof(GLfloat), quad,GL_STATIC_DRAW_ARB );
GLuint 在这样的标头中被声明为私有:
GLuint _VertexArrayObject;
GLuint _VertexBufferObject;
int U8VertexStride;
int U8VertexCount;
gdb 跟踪在这里:gdb trace