【发布时间】:2015-02-02 01:31:14
【问题描述】:
我是 OpenGL 的新手,也是 C++ 的新手。
我创建了一个 main.cpp,我在其中执行所有操作。我创建了一个 GLfloat data[],我在其中存储了我的 Cube 的顶点以及一个用于颜色的 GLfloat color[]。我创建了一个 VAO 和一个 VBO,并且我有一个方法,我在其中编译了一个简单的顶点和片段着色器。
问题是,我的代码很长,所以我想创建一个立方体类,三角形类等等。
我现在的问题是,我可以为多个对象使用相同的 VAO,还是为每个对象使用一个新的 VAO?。
另一件事是,我不完全知道如何编程。我缺少结构(我以前使用过 Java)。
我的想法是:
class Cube {
public:
Cube();
Cube(GLfloat position[],GLfloat color[]);
//But i need the same Shaders for each Object , so do i initialize it here or somewhere else?
compileShader();
drawCube();
}
请注意,这只是我的想法。也许有人可以帮助我解决这个问题:)
【问题讨论】: