C++ 从QT中的列表添加新的OpenGL形状

C++ 从QT中的列表添加新的OpenGL形状,c++,qt,opengl,C++,Qt,Opengl,我想创建一个程序,它将使用OpenGL从列表中动态添加新形状。 例如:我的列表中有3个三角形、2个圆和2个矩形,这些形状应该显示在QWidget窗口中。在程序期间,应该可以添加/删除新形状 我不知道从哪里开始。我的老师告诉我使用对象列表,每种类型的形状都应该有自己的类别 我的项目看起来像: |- headers -- grafika.h -- mainwindow.h |- sources -- main.cpp -- grafika.cpp -- mainwindow.cp

我想创建一个程序,它将使用OpenGL从列表中动态添加新形状。 例如:我的列表中有3个三角形、2个圆和2个矩形,这些形状应该显示在
QWidget
窗口中。在程序期间,应该可以添加/删除新形状

我不知道从哪里开始。我的老师告诉我使用对象列表,每种类型的形状都应该有自己的类别

我的项目看起来像:

|- headers
  -- grafika.h
  -- mainwindow.h
|- sources
  -- main.cpp
  -- grafika.cpp
  -- mainwindow.cpp
这是我的
paintGL()
方法的示例代码

void Grafika::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glTranslatef(0,0,-5);
    glRotatef(-xRot,1,0,0);
    glRotatef(-yRot,0,1,0);
    glRotatef(-zRot,0,0,1);
    glRotatef(alpha,0,0,1);
    glColor4fv(fColor);
    glBegin(GL_TRIANGLES);
    glVertex3f(-0.2,-0.2,0);
    glVertex3f(0.2,-0.2,0);
    glVertex3f(0,0.2,0);
    glEnd();
    shapesList = glGenLists(1);
    glNewList(shapesList,GL_COMPILE);
        glBegin(GL_POLYGON);
        glVertex3f(-0.2,0.2,0);
        glVertex3f(0.2,0.2,0);
        glVertex3f(0.2,-0.2,0);
        glVertex3f(-0.2,-0.2,0);
        glEnd();
    glEndList();
    glCallList(shapesList);
}

问题是什么?问题是我应该从哪里开始?我的问题是我不知道怎么做。如何在我的opengl小部件中创建添加新形状的机制?