From 4c96fc9ab7a0fc6c956f4545923e313397ff7160 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 12 Jan 2016 11:00:38 +0100 Subject: Create a piece for board games --- src/mmscene.cpp | 82 ++++++++++++--------------------------------------------- src/mmscene.h | 2 +- 2 files changed, 18 insertions(+), 66 deletions(-) diff --git a/src/mmscene.cpp b/src/mmscene.cpp index a7c9ede..9fe7d7c 100644 --- a/src/mmscene.cpp +++ b/src/mmscene.cpp @@ -16,8 +16,8 @@ MMScene::MMScene(QQuickItem *parent) m_vertexShaderFilename = ":/shaders/vshader.vsh"; m_eye = 10.0 * v_XZ; m_up = v_Z; - m_center = 4 * v_Y; - m_guiThreadRotation = 68.0; + //m_center = 4 * v_Y; + //m_guiThreadRotation = 68.0; m_lightingEnabled = true; m_colorArrayEnabled = false; m_texturesEnabled = true; @@ -55,25 +55,30 @@ void MMScene::paintUnderQmlScene() void MMScene::paintOnTopOfQmlScene() { m_renderer->pushMvMatrix(); - //drawAxes(5.0); + drawAxes(5.0); //drawTriangles(); //drawF(5.0); //m_cube->draw(m_renderer); - //m_sphere->draw(m_renderer); + + m_renderer->pushMvMatrix(); + m_renderer->translate(0.0, 0.0, 3.0); + m_sphere->draw(m_renderer); + m_renderer->popMvMatrix(); + foreach(GLDisc *token, m_tokens) { token->draw(m_renderer); } - m_chessboard->drawBoard(m_renderer); + //m_chessboard->drawBoard(m_renderer); m_renderer->popMvMatrix(); } void MMScene::setupGeometry() { //createCube(QVector3D(0.0, 0.0, 0.0), QVector3D(1.0, 1.0, 1.0)); - //createSphere(); - createChessboard(); + createSphere(); + //createChessboard(); createTokens(); //createF(5.0); //m_colorArrayEnabled = true; @@ -126,7 +131,7 @@ void MMScene::createCube(const QVector3D &lbb, const QVector3D &rtf) void MMScene::createSphere() { - m_sphere = new GLSphere(2.0, 100, 100); + m_sphere = new GLSphere(0.9, 50, 50); m_sphere->setDrawingMode(GL_TRIANGLE_STRIP); m_sphere->makeSurface(&m_points, &m_indices); @@ -134,65 +139,12 @@ void MMScene::createSphere() void MMScene::createTokens() { - for(int i = 0; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 0)), 10, GLColorRgba::clBlue, ":/textures/white_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } + GLDisc *token = new GLCone(QVector3D(0.0, 0.0, 0.0), 1.2, 0.3, 3.0, 50); - for(int i = 1; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 1)), 10, GLColorRgba::clBlue, ":/textures/white_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } + token->setDrawingMode(GL_TRIANGLES); + token->makeSurface(&m_points, &m_indices); - for(int i = 0; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 2)), 10, GLColorRgba::clBlue, ":/textures/white_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } - - for(int i = 1; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 5)), 10, GLColorRgba::clBlue, ":/textures/black_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } - - for(int i = 0; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 6)), 10, GLColorRgba::clBlue, ":/textures/black_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } - - for(int i = 1; i < 8; i+=2) - { - GLDisc *token = new GLDisc(0.5, 0.25, m_chessboard->fieldToPosition(QPoint(i, 7)), 10, GLColorRgba::clBlue, ":/textures/black_disc.jpg"); - - token->setDrawingMode(GL_TRIANGLES); - token->makeSurface(&m_points, &m_indices); - - m_tokens.append(token); - } + m_tokens.append(token); } void MMScene::createChessboard() diff --git a/src/mmscene.h b/src/mmscene.h index 1340f7d..e4d22ed 100644 --- a/src/mmscene.h +++ b/src/mmscene.h @@ -2,8 +2,8 @@ #define MMSCENE_H #include "glchessboard.h" +#include "glcone.h" #include "glcube.h" -#include "gldisc.h" #include "glitem.h" #include "glsphere.h" -- cgit v1.2.3-70-g09d2