diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-11-03 11:15:43 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-11-03 11:15:43 +0100 |
| commit | 88fb914ce88bca4ec54481b1f5df9a45f72c8316 (patch) | |
| tree | 0193473d4d39cd254bfdb21b92eec8689ca4f53b /src | |
| parent | 4877fdb850bdc939e8d2a3efe9ccd6a383052fb3 (diff) | |
| download | Multimedia-88fb914ce88bca4ec54481b1f5df9a45f72c8316.tar.gz Multimedia-88fb914ce88bca4ec54481b1f5df9a45f72c8316.zip | |
Use GLCube
Diffstat (limited to 'src')
| -rw-r--r-- | src/mmscene.cpp | 72 | ||||
| -rw-r--r-- | src/mmscene.h | 4 |
2 files changed, 11 insertions, 65 deletions
diff --git a/src/mmscene.cpp b/src/mmscene.cpp index 3e9fefd..dcf1190 100644 --- a/src/mmscene.cpp +++ b/src/mmscene.cpp @@ -7,7 +7,8 @@ MMScene::MMScene(QQuickItem *parent) { m_vertexShaderFilename = ":/shaders/vshader.vsh"; m_eye = 20.0 * v_XYZ; - + m_lightingEnabled = true; + m_colorArrayEnabled = false; } MMScene::~MMScene() @@ -28,7 +29,8 @@ void MMScene::paintOnTopOfQmlScene() m_renderer->pushMvMatrix(); drawAxes(10.0); //drawTriangles(); - drawF(5.0); + //drawF(5.0); + m_cube->draw(m_renderer); m_renderer->popMvMatrix(); } @@ -65,70 +67,10 @@ void MMScene::drawTriangles() void MMScene::createCube(const QVector3D &lbb, const QVector3D &rtf) { - QVector3D n0 = QVector3D(0.0, 0.0, 1.0); //dummy normal - QVector3D t0 = QVector3D(0.0, 0.0, 0.0); //dummy texture - - // Create all the vectors for caching - QVector3D lbf = QVector3D(lbb.x(), lbb.y(), rtf.z()); - QVector3D rbb = QVector3D(rtf.x(), lbb.y(), lbb.z()); - QVector3D rbf = QVector3D(rtf.x(), lbb.y(), rtf.z()); - QVector3D ltb = QVector3D(lbb.x(), rtf.y(), lbb.z()); - QVector3D ltf = QVector3D(lbb.x(), rtf.y(), rtf.z()); - QVector3D rtb = QVector3D(rtf.x(), rtf.y(), lbb.z()); - - // Bottom plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); - - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); - - // Back plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); - - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); - - // Left plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); - - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); - - // Right plane - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); - - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); - - // Top plane - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); - - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); - - // Front plane - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); + m_cube = new GLCube(); - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); + m_cube->setDrawingMode(GL_TRIANGLES); + m_cube->makeSurface(&m_points, &m_indices); } void MMScene::createF(double height) diff --git a/src/mmscene.h b/src/mmscene.h index 36cf2e8..a70321e 100644 --- a/src/mmscene.h +++ b/src/mmscene.h @@ -1,6 +1,7 @@ #ifndef MMSCENE_H #define MMSCENE_H +#include "glcube.h" #include "glitem.h" class MMScene : public GLItem @@ -56,6 +57,9 @@ protected: */ virtual void drawF(double height); +private: + GLCube *m_cube; + }; #endif // MMSCENE_H |
