如何将这两个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/

10-10 17:27
查看更多