You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.2 KiB
100 lines
2.2 KiB
#include <cstdio> // printf |
|
|
|
#include <glm/glm.hpp> |
|
|
|
#include "cube.h" |
|
#include "cubecolor.h" |
|
#include "state/maingame.h" |
|
#include "text.h" |
|
|
|
void MainGame::initialize() { |
|
printf("MainGame::initialize\n"); |
|
|
|
glm::vec3 cubeColors[CUBE_SIZE] = { |
|
// Textured cube |
|
glm::vec3( 0.6f, 0.2f, 0.2f), |
|
glm::vec3( 0.2f, 0.6f, 0.2f), |
|
glm::vec3( 0.2f, 0.2f, 0.6f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
// Colored cube |
|
glm::vec3( 0.6f, 0.2f, 0.2f), |
|
glm::vec3( 0.2f, 0.6f, 0.2f), |
|
glm::vec3( 0.2f, 0.2f, 0.6f), |
|
glm::vec3( 0.6f, 0.2f, 0.2f), |
|
glm::vec3( 0.2f, 0.6f, 0.2f), |
|
glm::vec3( 0.2f, 0.2f, 0.6f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
glm::vec3( 1.0f, 1.0f, 1.0f), |
|
}; |
|
|
|
glm::vec3 cubePositions[CUBE_SIZE] = { |
|
// Textured cube |
|
glm::vec3( 0.0f, 0.0f, 0.0f), |
|
glm::vec3( 2.0f, 0.0f, 0.0f), |
|
glm::vec3( 4.0f, 0.0f, 0.0f), |
|
glm::vec3( 0.0f, 2.0f, 0.0f), |
|
glm::vec3( 2.0f, 2.0f, 0.0f), |
|
glm::vec3( 4.0f, 2.0f, 0.0f), |
|
// Colored cube |
|
glm::vec3( 0.0f, 0.0f, 6.0f), |
|
glm::vec3( 2.0f, 0.0f, 6.0f), |
|
glm::vec3( 4.0f, 0.0f, 6.0f), |
|
glm::vec3( 0.0f, 2.0f, 6.0f), |
|
glm::vec3( 2.0f, 2.0f, 6.0f), |
|
glm::vec3( 4.0f, 2.0f, 6.0f), |
|
glm::vec3( 0.0f, 4.0f, 6.0f), |
|
glm::vec3( 2.0f, 4.0f, 6.0f), |
|
glm::vec3( 4.0f, 4.0f, 6.0f), |
|
}; |
|
|
|
bool cubeLine[CUBE_SIZE] = { |
|
// Colored cube |
|
false, |
|
false, |
|
false, |
|
true, |
|
true, |
|
true, |
|
true, |
|
}; |
|
|
|
for(int i = 0; i < CUBE; i++) { |
|
m_object[i] = new Cube(cubeColors[i].x, cubeColors[i].y, cubeColors[i].z); |
|
m_object[i]->setPosition(cubePositions[i]); |
|
} |
|
for(int i = CUBE; i < CUBE_SIZE; i++) { |
|
m_object[i] = new CubeColor(cubeColors[i].x, cubeColors[i].y, cubeColors[i].z, |
|
cubeLine[i - CUBE]); |
|
m_object[i]->setPosition(cubePositions[i]); |
|
} |
|
|
|
m_text = new Text(); |
|
m_text->setText("Test"); |
|
} |
|
|
|
void MainGame::update() { |
|
for(int i = 0; i < CUBE_SIZE; i++) { |
|
m_object[i]->update(); |
|
} |
|
|
|
m_text->update(); |
|
} |
|
|
|
void MainGame::render() { |
|
for(int i = 0; i < CUBE_SIZE; i++) { |
|
m_object[i]->render(); |
|
} |
|
|
|
m_text->render(); |
|
} |
|
|
|
void MainGame::destroy() { |
|
for(int i = 0; i < CUBE_SIZE; i++) { |
|
m_object[i]->destroy(); |
|
} |
|
|
|
m_text->destroy(); |
|
}
|
|
|