C++ 从QT中的列表添加新的OpenGL形状
我想创建一个程序,它将使用OpenGL从列表中动态添加新形状。 例如:我的列表中有3个三角形、2个圆和2个矩形,这些形状应该显示在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
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小部件中创建添加新形状的机制?