#include "GLView.h" GLView::GLView(QWidget *parent) : QGLView(parent), sceneNode(NULL), geometryData(NULL) { setFocusPolicy(Qt::StrongFocus); } GLView::~GLView() { delete this->geometryData; delete this->sceneNode; } void GLView::initializeGL(QGLPainter *painter) { buildGeometry(); QGLBuilder builder; builder << (*geometryData); sceneNode = builder.finalizedSceneNode(); } void GLView::paintGL(QGLPainter *painter) { this->sceneNode->setDrawingMode(QGL::Lines); this->sceneNode->draw(painter); } void GLView::buildGeometry() { this->geometryData = new QGeometryData(); this->geometryData->appendVertex(QVector3D(-1.0, -1.0, 0.0)); this->geometryData->appendVertex(QVector3D(1.0, -1.0, 0.0)); this->geometryData->appendVertex(QVector3D(1.0, 1.0, 0.0)); this->geometryData->appendVertex(QVector3D(-1.0, 1.0, 0.0)); this->geometryData->appendNormal(QVector3D(0.0, 0.0, 1.0)); this->geometryData->appendNormal(QVector3D(0.0, 0.0, 1.0)); this->geometryData->appendNormal(QVector3D(0.0, 0.0, 1.0)); this->geometryData->appendNormal(QVector3D(0.0, 0.0, 1.0)); this->geometryData->appendIndices(0, 1, 2); this->geometryData->appendIndices(0, 2, 3); }