Loading CMakeLists.txt +1 −1 Changes for CMakeLists.txt: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -18,5 +18,5 @@ include_directories("glitter/ext/tinyobjloader" ${OPENGL_INCLUDE_DIR}) add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/GuiElement.cpp src/RenderObjectPart.cpp src/GlApplication.cpp src/model/Spaceship.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) src/model/Spaceship.cpp src/model/Asteroid.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) target_link_libraries(GLE-test utils ${GLFW3_LIBRARIES} ${GLEW_LIBRARIES}) include/GlApplication.hpp +1 −0 Changes for include/GlApplication.hpp: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include "GuiElement.hpp" #include "RenderObject.hpp" #include "model/Asteroid.hpp" #include "model/Missile.hpp" #include "model/Player.hpp" #include "model/Spaceship.hpp" Loading include/model/Asteroid.hpp 0 → 100644 +22 −0 Changes for include/model/Asteroid.hpp: 22 added lines, 0 removed lines. Original line number Diff line number Diff line #pragma once #include <cstdlib> #include <ctime> #include <glm/ext.hpp> #include "model/Entity.hpp" #define ASTEROID_SPEED 0.1 class Asteroid : public Entity { private: glm::vec3 rotationAngle; public: Asteroid(); ~Asteroid(); void update(const float &deltaTime) override; }; src/GlApplication.cpp +1 −1 Changes for src/GlApplication.cpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ void GlApplication::createEntities() { const float pi = glm::pi<float>(); std::shared_ptr<Entity> asteroidEntity(new Entity()); std::shared_ptr<Entity> asteroidEntity(new Asteroid()); asteroidEntity->setScale(0.25); m_entities[ModelKeys::ASTEROID].push_back(asteroidEntity); Loading src/model/Asteroid.cpp 0 → 100644 +22 −0 Changes for src/model/Asteroid.cpp: 22 added lines, 0 removed lines. Original line number Diff line number Diff line #include "model/Asteroid.hpp" Asteroid::Asteroid() : Entity() { srand(time(NULL)); const float pi = glm::pi<float>(); this->rotationAngle = glm::vec3(glm::radians((float)(rand() % 180)) - pi, glm::radians((float)(rand() % 180)) - pi, glm::radians((float)(rand() % 180)) - pi); } Asteroid::~Asteroid() {} void Asteroid::update(const float &deltaTime) { glm::vec3 xAxis = (float)sin(this->rotationAngle.x * deltaTime * ASTEROID_SPEED) * this->get_x_axis(); rotate(glm::quat(cos(this->rotationAngle.x * deltaTime * ASTEROID_SPEED), xAxis)); glm::vec3 yAxis = (float)sin(this->rotationAngle.y * deltaTime * ASTEROID_SPEED) * this->get_y_axis(); rotate(glm::quat(cos(this->rotationAngle.y * deltaTime * ASTEROID_SPEED), yAxis)); glm::vec3 zAxis = (float)sin(this->rotationAngle.z * deltaTime * ASTEROID_SPEED) * this->get_z_axis(); rotate(glm::quat(cos(this->rotationAngle.z * deltaTime * ASTEROID_SPEED), zAxis)); } Loading
CMakeLists.txt +1 −1 Changes for CMakeLists.txt: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -18,5 +18,5 @@ include_directories("glitter/ext/tinyobjloader" ${OPENGL_INCLUDE_DIR}) add_executable(GLE-test src/main.cpp src/RenderObject.cpp src/GuiElement.cpp src/RenderObjectPart.cpp src/GlApplication.cpp src/model/Spaceship.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) src/model/Spaceship.cpp src/model/Asteroid.cpp src/model/Entity.cpp src/model/Missile.cpp src/model/Box.cpp) target_link_libraries(GLE-test utils ${GLFW3_LIBRARIES} ${GLEW_LIBRARIES})
include/GlApplication.hpp +1 −0 Changes for include/GlApplication.hpp: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include "GuiElement.hpp" #include "RenderObject.hpp" #include "model/Asteroid.hpp" #include "model/Missile.hpp" #include "model/Player.hpp" #include "model/Spaceship.hpp" Loading
include/model/Asteroid.hpp 0 → 100644 +22 −0 Changes for include/model/Asteroid.hpp: 22 added lines, 0 removed lines. Original line number Diff line number Diff line #pragma once #include <cstdlib> #include <ctime> #include <glm/ext.hpp> #include "model/Entity.hpp" #define ASTEROID_SPEED 0.1 class Asteroid : public Entity { private: glm::vec3 rotationAngle; public: Asteroid(); ~Asteroid(); void update(const float &deltaTime) override; };
src/GlApplication.cpp +1 −1 Changes for src/GlApplication.cpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ void GlApplication::createEntities() { const float pi = glm::pi<float>(); std::shared_ptr<Entity> asteroidEntity(new Entity()); std::shared_ptr<Entity> asteroidEntity(new Asteroid()); asteroidEntity->setScale(0.25); m_entities[ModelKeys::ASTEROID].push_back(asteroidEntity); Loading
src/model/Asteroid.cpp 0 → 100644 +22 −0 Changes for src/model/Asteroid.cpp: 22 added lines, 0 removed lines. Original line number Diff line number Diff line #include "model/Asteroid.hpp" Asteroid::Asteroid() : Entity() { srand(time(NULL)); const float pi = glm::pi<float>(); this->rotationAngle = glm::vec3(glm::radians((float)(rand() % 180)) - pi, glm::radians((float)(rand() % 180)) - pi, glm::radians((float)(rand() % 180)) - pi); } Asteroid::~Asteroid() {} void Asteroid::update(const float &deltaTime) { glm::vec3 xAxis = (float)sin(this->rotationAngle.x * deltaTime * ASTEROID_SPEED) * this->get_x_axis(); rotate(glm::quat(cos(this->rotationAngle.x * deltaTime * ASTEROID_SPEED), xAxis)); glm::vec3 yAxis = (float)sin(this->rotationAngle.y * deltaTime * ASTEROID_SPEED) * this->get_y_axis(); rotate(glm::quat(cos(this->rotationAngle.y * deltaTime * ASTEROID_SPEED), yAxis)); glm::vec3 zAxis = (float)sin(this->rotationAngle.z * deltaTime * ASTEROID_SPEED) * this->get_z_axis(); rotate(glm::quat(cos(this->rotationAngle.z * deltaTime * ASTEROID_SPEED), zAxis)); }