【发布时间】:2015-10-03 23:52:37
【问题描述】:
我遇到了顶点缓冲区对象的问题,它似乎无法正常工作。 它不会在屏幕上显示任何内容。
这是我的代码:
void gl::glRecti(int x,int y,int w,int h,glColor *color)
{
GLuint vbo = 0;
GLfloat verts[] =
{
x,y,
x,y + h,
x + w,y + h,
x + w,y,
};
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER,vbo);
glVertexPointer( 4 , GL_FLOAT , sizeof(float) * 8, NULL );
glDrawArrays(GL_QUADS,0,4);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDisableClientState(GL_VERTEX_ARRAY);
}
PS:我是 OpenGL 编程的新手。任何帮助将不胜感激。
【问题讨论】:
标签: c++ opengl buffer sdl vertex