-1
嘿,我正在搞乱openGL,我正在绘制一个简单的立方体,我想知道如果我的VBO/IBO/CBO存储在我的立方体类中?是否可以将VBO保存在C++类中?
像:
class Cube {
private:
GLuint vBO;
GLuint cBO;
GLuint iBO;
然后我会打电话:
void Cube::setupDataBuffer() {
glGenBuffers(1, &vBO);
glBindBuffer(GL_ARRAY_BUFFER, vBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertexBufferData), vertexBufferData, GL_STATIC_DRAW);
glGenBuffers(1, &iBO);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, iBO);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indexBufferData), indexBufferData, GL_STATIC_DRAW);
glGenBuffers(1, &cBO);
glBindBuffer(GL_ARRAY_BUFFER, cBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(colorBufferData), colorBufferData, GL_STATIC_DRAW);
}
,但似乎如果我再要画立方体在我main.cpp中什么都没有,但是如果我把VBO/CBO/IBO在我的主体中,并执行其他代码以及立方体出现。
所以我的问题是:我如何生成和绑定我的班级的缓冲区对象?我被你可以做类似的方式
“*我如何在我的类中生成和绑定缓冲对象?*”代码不会因为它在我的班级而改变。所以如果你知道如何使用缓冲区对象,那么你应该可以在类中使用它们。 –