当我创建2个或更多TestLine类的实例并将其添加到渲染类中时,只渲染了最后一个。前面的物体不会呈现或消失Opengl以前的对象消失
测试线类:
void update(){
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_VERTEX_ARRAY, xbo);
glVertexPointer(2, GL_FLOAT, 0, 0);
glDrawArrays(GL_LINES, 0, verts.size());
glDisableClientState(GL_VERTEX_ARRAY);
}
void set(float x, float y, float x2, float y2){
verts.push_back(x);
verts.push_back(y);
verts.push_back(x2);
verts.push_back(y2);
glGenBuffers(1, &xbo);
glBindBuffer(GL_ARRAY_BUFFER, xbo);
glBufferData(GL_ARRAY_BUFFER, verts.size() * sizeof(GLfloat), &verts[0], GL_STATIC_DRAW);
}
功能呈现类
void draw(){
int size = lines.size();
for(int i = 0; i < size; i++)
lines[i]->update();
}
void add(TestLine* d){
lines.push_back(d);
}
这是有关桌面OpenGL或OpenGL ES的? – 2013-03-13 09:10:24
我希望它可以在opengl和gles1.x中运行 – tambalolo 2013-03-13 11:59:50
发布TestLine类的全部内容。 – genpfault 2013-03-13 13:57:15