如何将这两个opengl形状堆叠到容器类中?
有人可以告诉我吗
我不会介意模板。
void myTriangle()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 0.0f, 1.0f, 0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();
glutSwapBuffers ( );
}
void myQuad()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glColor3f(0.5f,0.5f,1.0f);
glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();
glutSwapBuffers ( );
}
最佳答案
不确定要做什么,但是您可以执行以下操作:
typedef void (*ShapeFct_t)();
typedef std::vector<ShapeFct_t> ShapeArray_t;
ShapeArray_t shapes;
shapes.push_back(myTriangle);
shapes.push_back(myQuad);
关于c++ - 如何将opengl形状堆叠到std::vector中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8782222/