在加载网格和纹理以及模型类中的其他内容时,我一直想知道这一点,您保留什么?我想一旦顶点通过 glBufferData() 传递,我就不再需要它们了,因为对 glDrawArrays() 的调用取决于最后一个 glBindBuffer() 这是我的模型类在调用 loadModel() 方法后保留的所有内容。
GLuint vboID;//for... something
GLuint vaoID;//for glBindVertexArray(vaoID);
GLuint textureID;//for glBindTexture(GL_TEXTRUE2D, textureID);
GLuint vboElementCount;//for glDrawArrays(GL_TRIANGLES,0,vboElementCount);
据我所知,这就是渲染模型所需的全部内容。除此之外,我还应该为一个简单的模型保留什么?
编辑:在有人提到位置旋转比例和你有什么之前,我有一个包含这些矩阵的 ModelInstance 类,我将它传递给 Model 对象的指针,这样我就可以拥有同一个 Model 的多个实例。