summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-11-03 11:15:43 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-11-03 11:15:43 +0100
commit88fb914ce88bca4ec54481b1f5df9a45f72c8316 (patch)
tree0193473d4d39cd254bfdb21b92eec8689ca4f53b /src
parent4877fdb850bdc939e8d2a3efe9ccd6a383052fb3 (diff)
downloadMultimedia-88fb914ce88bca4ec54481b1f5df9a45f72c8316.tar.gz
Multimedia-88fb914ce88bca4ec54481b1f5df9a45f72c8316.zip
Use GLCube
Diffstat (limited to 'src')
-rw-r--r--src/mmscene.cpp72
-rw-r--r--src/mmscene.h4
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