diff --git a/src/Engine3D/components/graphics/GraphicsComponent.h b/src/Engine3D/components/graphics/GraphicsComponent.h deleted file mode 100644 index 86b754a..0000000 --- a/src/Engine3D/components/graphics/GraphicsComponent.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../../services/environment/graphics/Graphics.h" -#include "../../services/environment/world/IWorld.h" - -class Object; -class GraphicsComponent -{ -public: - virtual void update(Object* object, IWorld* world, Graphics* graphics) = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/components/input/InputComponent.h b/src/Engine3D/components/input/InputComponent.h deleted file mode 100644 index dabd368..0000000 --- a/src/Engine3D/components/input/InputComponent.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include - -class Object; -class InputComponent -{ -public: - virtual void update(Object* object, float dt) = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/components/physics/PhysicsComponent.h b/src/Engine3D/components/physics/PhysicsComponent.h deleted file mode 100644 index 43d9216..0000000 --- a/src/Engine3D/components/physics/PhysicsComponent.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -class Object; -class PhysicsComponent -{ -public: - virtual void update(Object* object) = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/components/shader/CameraShaderComponent.cpp b/src/Engine3D/components/shader/CameraShaderComponent.cpp deleted file mode 100644 index 416e8a4..0000000 --- a/src/Engine3D/components/shader/CameraShaderComponent.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "CameraShaderComponent.h" -#include "../../graphics/Camera.h" - -void CameraShaderComponent::update(Object* object, Shader* shader) -{ - Camera* camera = static_cast(object); - - shader->use(); - shader->uniform("view", camera->getViewMatrix()); - shader->uniform("projection", m_projection); - shader->uniform("viewPos", camera->getPosition()); -} diff --git a/src/Engine3D/components/shader/CameraShaderComponent.h b/src/Engine3D/components/shader/CameraShaderComponent.h deleted file mode 100644 index 73f1321..0000000 --- a/src/Engine3D/components/shader/CameraShaderComponent.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ShaderComponent.h" - -class CameraShaderComponent : public ShaderComponent -{ -private: - glm::mat4 m_projection = glm::perspective(45.0f, Ui::getWindow()->getAspectRatio(), 0.1f, 100.0f); - -public: - void update(Object* object, Shader* shader) override; -}; \ No newline at end of file diff --git a/src/Engine3D/components/shader/LightShaderComponent.cpp b/src/Engine3D/components/shader/LightShaderComponent.cpp deleted file mode 100644 index 55d36a0..0000000 --- a/src/Engine3D/components/shader/LightShaderComponent.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "LightShaderComponent.h" -#include "../../graphics/Light.h" - -void LightShaderComponent::update(Object* object, Shader* shader) -{ - Light* light = static_cast(object); - - shader->use(); - shader->uniform("lightPos", light->getPosition()); -} diff --git a/src/Engine3D/components/shader/LightShaderComponent.h b/src/Engine3D/components/shader/LightShaderComponent.h deleted file mode 100644 index ffeda1b..0000000 --- a/src/Engine3D/components/shader/LightShaderComponent.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "ShaderComponent.h" - -class LightShaderComponent : public ShaderComponent -{ -public: - void update(Object* object, Shader* shader) override; -}; \ No newline at end of file diff --git a/src/Engine3D/components/shader/ShaderComponent.h b/src/Engine3D/components/shader/ShaderComponent.h deleted file mode 100644 index a576708..0000000 --- a/src/Engine3D/components/shader/ShaderComponent.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include -#include "../../services/ui/Ui.h" -#include "../../graphics/Shader.h" - -class Object; -class ShaderComponent -{ -public: - virtual void update(Object* object, Shader* shader) = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/graphics/Camera.h b/src/Engine3D/graphics/Camera.h deleted file mode 100644 index 7731320..0000000 --- a/src/Engine3D/graphics/Camera.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include -#include -#include "Shader.h" -#include "Object.h" - -class Camera : public Object -{ -private: - glm::mat4 m_view; - -public: - Camera(InputComponent *inputComponent, PhysicsComponent *physicsComponent, ShaderComponent *shaderComponent) - : Object(inputComponent, physicsComponent, shaderComponent, nullptr) { - m_position = glm::vec3(0, 0, -5); - } - ~Camera() {} - - inline glm::mat4 getViewMatrix() const { return m_view; } - void lookAt(const glm::vec3& target) { m_view = glm::lookAt(m_position, target, m_up); } -}; diff --git a/src/Engine3D/graphics/Light.h b/src/Engine3D/graphics/Light.h deleted file mode 100644 index 1357871..0000000 --- a/src/Engine3D/graphics/Light.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "Object.h" - -class Light : public Object -{ -public: - Light(InputComponent *inputComponent, PhysicsComponent *physicsComponent, ShaderComponent *shaderComponent) - : Object(inputComponent, physicsComponent, shaderComponent, nullptr) {} -}; diff --git a/src/Engine3D/graphics/Mesh.cpp b/src/Engine3D/graphics/Mesh.cpp deleted file mode 100644 index b5479d7..0000000 --- a/src/Engine3D/graphics/Mesh.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include "Mesh.h" - -Mesh::Mesh(const Vertices &vertices, const Indices &indices) - : m_vertices(vertices), - m_indices(indices) -{ - glGenVertexArrays(1, &m_vertexArrayObjectId); - glBindVertexArray(m_vertexArrayObjectId); - - glGenBuffers(1, &m_vbo); - glBindBuffer(GL_ARRAY_BUFFER, m_vbo); - glBufferData(GL_ARRAY_BUFFER, sizeof(Vertex) * vertices.size(), vertices.data(), GL_STATIC_DRAW); - - glGenBuffers(1, &m_ebo); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ebo); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(Index) * indices.size(), indices.data(), GL_STATIC_DRAW); - - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, position)); - glEnableVertexAttribArray(0); - - glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, uv)); - glEnableVertexAttribArray(1); - - glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, normal)); - glEnableVertexAttribArray(2); - - glVertexAttribPointer(3, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, tangent)); - glEnableVertexAttribArray(3); - - glVertexAttribPointer(4, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, bitangent)); - glEnableVertexAttribArray(4); - - glBindVertexArray(0); - glBindBuffer(GL_ARRAY_BUFFER, 0); -} - -Mesh::~Mesh() -{ - m_vertices.clear(); - m_indices.clear(); - glDeleteBuffers(1, &m_ebo); - glDeleteBuffers(1, &m_vbo); - glDeleteVertexArrays(1, &m_vertexArrayObjectId); -} - -void Mesh::draw() -{ - glBindVertexArray(m_vertexArrayObjectId); - glDrawElements(GL_TRIANGLES, m_indices.size(), GL_UNSIGNED_INT, nullptr); - glBindVertexArray(0); -} \ No newline at end of file diff --git a/src/Engine3D/graphics/Mesh.h b/src/Engine3D/graphics/Mesh.h deleted file mode 100644 index 1d0b3a8..0000000 --- a/src/Engine3D/graphics/Mesh.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include -#include -#include -#include "Shader.h" -#include "Texture.h" - -struct Vertex -{ - glm::vec3 position; - glm::vec2 uv; - glm::vec3 normal; - glm::vec3 tangent; - glm::vec3 bitangent; -}; - -typedef GLuint Index; -typedef std::vector Vertices; -typedef std::vector Indices; - -class Mesh -{ -private: - Vertices m_vertices; - Indices m_indices; - GLuint m_vertexArrayObjectId; - GLuint m_vbo; - GLuint m_ebo; - -public: - Mesh(const Vertices& vertices, const Indices& indices); - ~Mesh(); - - void draw(); -}; diff --git a/src/Engine3D/graphics/Object.cpp b/src/Engine3D/graphics/Object.cpp deleted file mode 100644 index 57e640d..0000000 --- a/src/Engine3D/graphics/Object.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "Object.h" -#include "../services/environment/Environment.h" - -Object::Object(InputComponent *inputComponent, - PhysicsComponent *physicsComponent, - ShaderComponent *shaderComponent, - GraphicsComponent *graphicsComponent) - : m_input(inputComponent), - m_physics(physicsComponent), - m_shader(shaderComponent), - m_graphics(graphicsComponent) -{} - -void Object::update(Shader &shader, float dt) -{ - if(m_physics) m_physics->update(this); - if(m_input) m_input->update(this, dt); - if(m_shader) m_shader->update(this, &shader); - if(m_graphics) m_graphics->update(this, Environment::getWorld(), Environment::getGraphics()); -} - -void Object::setVelocity(const glm::vec3 &velocity) -{ - m_velocity = velocity; -} - -void Object::setVelocityLocal(const glm::vec3 &velocity) -{ - glm::vec3 right = normalize(cross(m_up, m_front)); - m_velocity = velocity.z * m_front + velocity.y * m_up + velocity.x * right; -} - -void Object::setYaw(const GLfloat yaw) { m_yaw = yaw; } - -void Object::setFront(const glm::vec3 &front) { m_front = front; } - -void Object::setPitch(const GLfloat pitch) -{ - m_pitch = pitch; - if(m_pitch > 89.0f) - m_pitch = 89.0f; - else if(m_pitch < -89.0f) - m_pitch = -89.0f; -} diff --git a/src/Engine3D/graphics/Object.h b/src/Engine3D/graphics/Object.h deleted file mode 100644 index db709cb..0000000 --- a/src/Engine3D/graphics/Object.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include -#include -#include "../components/shader/ShaderComponent.h" -#include "../components/input/InputComponent.h" -#include "../components/physics/PhysicsComponent.h" -#include "../components/graphics/GraphicsComponent.h" - -class Object -{ -protected: - glm::vec3 m_position = glm::vec3(0.0f, 0.0f, -1.0f); - - glm::vec3 m_front = glm::vec3(0.0f, 0.0f, 1.0f); - glm::vec3 m_up = glm::vec3(0.0f, 1.0f, 0.0f); - glm::vec3 m_velocity = glm::vec3(0.0f, 0.0f, 0.0f); - - GLfloat m_yaw = 90.0f; - GLfloat m_pitch = 0.0f; - - InputComponent* m_input; - PhysicsComponent* m_physics; - ShaderComponent* m_shader; - GraphicsComponent* m_graphics; - -public: - Object(InputComponent* inputComponent, - PhysicsComponent* physicsComponent, - ShaderComponent* shaderComponent, - GraphicsComponent* graphicsComponent); - virtual ~Object() {} - - void translate(const glm::vec3& offset) { m_position += offset; } - - inline GLfloat getYaw() const { return m_yaw; } - inline GLfloat getPitch() const { return m_pitch; } - inline glm::vec3 getPosition() const { return m_position; } - inline glm::vec3 getFront() const { return m_front; } - inline glm::vec3 getVelocity() const { return m_velocity; } - - void setFront(const glm::vec3& front); - void setPitch(const GLfloat pitch); - void setYaw(const GLfloat yaw); - void setVelocityLocal(const glm::vec3 &velocity); - void setVelocity(const glm::vec3 &velocity); - - void update(Shader& shader, float dt); -}; \ No newline at end of file diff --git a/src/Engine3D/graphics/Shader.cpp b/src/Engine3D/graphics/Shader.cpp deleted file mode 100644 index 0d2dac1..0000000 --- a/src/Engine3D/graphics/Shader.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include "Shader.h" -#include "../parse/File.h" -#include - -Shader::Shader(const std::string &vertexPath, const std::string &fragmentPath) -{ - std::string vsSource = File(vertexPath).getContents(); - std::string fsSource = File(fragmentPath).getContents(); - - GLuint vertexShaderId = compile(vsSource.c_str(), GL_VERTEX_SHADER, vertexPath); - GLuint fragmentShaderId = compile(fsSource.c_str(), GL_FRAGMENT_SHADER, fragmentPath); - - link(vertexShaderId, fragmentShaderId); - - glDetachShader(m_id, vertexShaderId); - glDetachShader(m_id, fragmentShaderId); - glDeleteShader(vertexShaderId); - glDeleteShader(fragmentShaderId); -} - -Shader::~Shader() -{ - glDeleteProgram(m_id); -} - -GLuint Shader::compile(const GLchar *sourceCode, GLenum shaderType, const std::string &filename) { - GLuint shader = glCreateShader(shaderType); - glShaderSource(shader, 1, &sourceCode, nullptr); - glCompileShader(shader); - - GLint success; - GLint length; - glGetShaderiv(shader, GL_COMPILE_STATUS, &success); - if(!success) { - glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &length); - std::vector errorStr(length); - glGetShaderInfoLog(shader, length, nullptr, errorStr.data()); - std::cout << "Error in " << filename << ": " << errorStr.data() << std::endl; - } - - return shader; -} - -void Shader::link(GLuint vertexShader, GLuint fragmentShader) { - m_id = glCreateProgram(); - glAttachShader(m_id, vertexShader); - glAttachShader(m_id, fragmentShader); - glLinkProgram(m_id); - - GLint success; - GLint length; - glGetProgramiv(m_id, GL_LINK_STATUS, &success); - if(!success) { - glGetProgramiv(m_id, GL_INFO_LOG_LENGTH, &length); - std::vector errorStr(length); - glGetProgramInfoLog(m_id, length, &length, errorStr.data()); - std::cout << "Error on program link: " << errorStr.data() << std::endl; - } -} - -void Shader::uniform(const std::string &name, int value) -{ - glUniform1i(getUniformLocation(name), value); -} - -void Shader::uniform(const std::string &name, const glm::vec3 &value) -{ - glUniform3f(getUniformLocation(name), value.x, value.y, value.z); -} - -void Shader::uniform(const std::string &name, const glm::mat4& matrix) -{ - glUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, glm::value_ptr(matrix)); -} - -GLuint Shader::getUniformLocation(const std::string& name) -{ - if(m_uniforms.find(name) == m_uniforms.end()) { - m_uniforms[name] = glGetUniformLocation(m_id, name.c_str()); - } - return m_uniforms[name]; -} diff --git a/src/Engine3D/graphics/Shader.h b/src/Engine3D/graphics/Shader.h deleted file mode 100644 index 3fc22bd..0000000 --- a/src/Engine3D/graphics/Shader.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -class Shader -{ -private: - std::map m_uniforms; - GLuint m_id; - -public: - Shader(const std::string& vertexPath, const std::string& fragmentPath); - ~Shader(); - - void uniform(const std::string& name, int value); - void uniform(const std::string& name, const glm::mat4& value); - void uniform(const std::string& name, const glm::vec3& value); - - inline void use() const { glUseProgram(m_id); } - inline GLuint getId() const { return m_id; } - -private: - GLuint getUniformLocation(const std::string& name); - - GLuint compile(const GLchar *sourceCode, GLenum shaderType, const std::string &filename); - void link(GLuint vertexShader, GLuint fragmentShader); - -}; diff --git a/src/Engine3D/graphics/Texture.cpp b/src/Engine3D/graphics/Texture.cpp deleted file mode 100644 index 7db2cd4..0000000 --- a/src/Engine3D/graphics/Texture.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "Texture.h" -#include - -Texture::Texture(const std::string& name, const Type type) - : m_name(name), m_type(type) -{ - glGenTextures(1, &m_textureId); -} - -Texture::Texture(const std::string& name, const std::string &filename, const Type type) - : Texture(name, type) -{ - load(filename, m_name); -} - -Texture::~Texture() -{ - glDeleteTextures(1, &m_textureId); -} - -void Texture::load(const std::string &filename, const std::string& name) -{ - glBindTexture(GL_TEXTURE_2D, m_textureId); - - glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - int width, height; - unsigned char* pixels = SOIL_load_image(filename.c_str(), &width, &height, 0, SOIL_LOAD_RGB); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels); - glGenerateMipmap(GL_TEXTURE_2D); - - SOIL_free_image_data(pixels); - glBindTexture(GL_TEXTURE_2D, 0); -} - -void Texture::use(Shader& shader) const -{ - glActiveTexture(m_type); - glBindTexture(GL_TEXTURE_2D, m_textureId); - shader.uniform(m_name, m_type - GL_TEXTURE0); -} - - diff --git a/src/Engine3D/graphics/Texture.h b/src/Engine3D/graphics/Texture.h deleted file mode 100644 index be7edc6..0000000 --- a/src/Engine3D/graphics/Texture.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include -#include -#include "Shader.h" - -typedef int Type; - -class Texture -{ -public: - static const Type DIFFUSE = GL_TEXTURE0; - static const Type SPECULAR_MAP = GL_TEXTURE1; - static const Type NORMAL_MAP = GL_TEXTURE2; - -private: - GLuint m_textureId; - Type m_type; - std::string m_name; - -public: - Texture(const std::string& name, const Type type = DIFFUSE); - Texture(const std::string& name, const std::string& filename, const Type type = DIFFUSE); - ~Texture(); - - void load(const std::string& filename, const std::string& name); - void use(Shader& shader) const; - - inline Type getType() const { return m_type; } -}; - -struct TextureMap { - Texture* diffuse; - Texture* specular; - Texture* normal; - - TextureMap(Texture* diff, Texture* spec, Texture* norm) - : diffuse(diff), specular(spec), normal(norm) {} - - void use(Shader& shader) { - diffuse->use(shader); - specular->use(shader); - normal->use(shader); - } -}; diff --git a/src/Engine3D/parse/File.cpp b/src/Engine3D/parse/File.cpp deleted file mode 100644 index 7405adc..0000000 --- a/src/Engine3D/parse/File.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "File.h" -#include - -File::File(const std::string &filename) - : m_filename(filename) -{ - -} - -std::string File::getContents() const -{ - std::string contents; - std::ifstream file(m_filename, std::ios::in); - file.seekg(0, file.end); - contents.resize(file.tellg()); - file.seekg(0, file.beg); - file.read(&contents[0], contents.size()); - - return contents; -} \ No newline at end of file diff --git a/src/Engine3D/parse/File.h b/src/Engine3D/parse/File.h deleted file mode 100644 index 2902eed..0000000 --- a/src/Engine3D/parse/File.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include - -class File -{ -private: - std::string m_filename; -public: - File(const std::string& filename); - std::string getContents() const; -}; diff --git a/src/Engine3D/parse/ObjParser.cpp b/src/Engine3D/parse/ObjParser.cpp deleted file mode 100644 index b02c0c0..0000000 --- a/src/Engine3D/parse/ObjParser.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include -#include -#include -#include "ObjParser.h" - -ObjParser::ObjParser(const std::string &filepath) - : Parser(filepath, FileFormat::OBJ) -{} - -Mesh* ObjParser::parse() -{ - std::ifstream file(m_filepath); - std::string val; - std::vector positions; - std::vector uvs; - std::vector normals; - - std::vector vertices; - std::vector indices; - - int index = 0; - while(file >> val) { - if(val == "v") { - glm::vec3 position; - file >> position.x >> position.y >> position.z; - positions.push_back(position); - } else if(val == "vt") { - glm::vec2 uv; - file >> uv.s >> uv.t; - uvs.push_back(uv); - } else if(val == "vn") { - glm::vec3 normal; - file >> normal.x >> normal.y >> normal.z; - normals.push_back(normal); - } else if(val == "f") { - char slash; - for(int i=0; i<3; i++) { - Vertex v; - GLuint positionId, uvId, normalId; - file >> positionId >> slash >> uvId >> slash >> normalId; - v.position = positions[positionId - 1]; - v.uv = uvs[uvId - 1]; - v.normal = normals[normalId - 1]; - - indices.push_back(index++); - vertices.push_back(v); - } - } - - std::getline(file, val); - } - generateTangentSpace(vertices); - - return new Mesh(vertices, indices); -} - -ObjParser::~ObjParser() -{} - -void ObjParser::generateTangentSpace(std::vector &vertices) -{ - for ( int i=0; i < vertices.size(); i += 3) { - Vertex v0 = vertices[i]; - Vertex v1 = vertices[i + 1]; - Vertex v2 = vertices[i + 2]; - - glm::vec3 deltaPos1 = v1.position - v0.position; - glm::vec3 deltaPos2 = v2.position - v0.position; - - glm::vec2 deltaUV1 = v1.uv - v0.uv; - glm::vec2 deltaUV2 = v2.uv - v0.uv; - - float r = 1.0f / (deltaUV1.x * deltaUV2.y - deltaUV1.y * deltaUV2.x); - glm::vec3 tangent = (deltaPos1 * deltaUV2.y - deltaPos2 * deltaUV1.y)*r; - glm::vec3 bitangent = (deltaPos2 * deltaUV1.x - deltaPos1 * deltaUV2.x)*r; - - for(int j=0; j<3; j++) { - vertices[i + j].tangent = tangent; - vertices[i + j].bitangent = bitangent; - } - } -} diff --git a/src/Engine3D/parse/ObjParser.h b/src/Engine3D/parse/ObjParser.h deleted file mode 100644 index 7fc0ba4..0000000 --- a/src/Engine3D/parse/ObjParser.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include "../graphics/Mesh.h" -#include "Parser.h" - -class ObjParser : public Parser -{ -public: - ObjParser(const std::string &filepath); - ~ObjParser(); - - Mesh* parse() override; - -private: - void generateTangentSpace(std::vector &vertices); -}; diff --git a/src/Engine3D/parse/Parser.h b/src/Engine3D/parse/Parser.h deleted file mode 100644 index a0ff50b..0000000 --- a/src/Engine3D/parse/Parser.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include - -enum FileFormat -{ - OBJ -}; - -template -class Parser -{ -protected: - std::string m_filepath; - FileFormat m_fileFormat; - -public: - Parser(const std::string& filepath, FileFormat format) : m_filepath(filepath), m_fileFormat(format) {} - virtual ~Parser() {} - virtual T* parse() = 0; - - inline FileFormat getFormat() const { return m_fileFormat; } -}; diff --git a/src/Engine3D/providers/Provider.cpp b/src/Engine3D/providers/Provider.cpp deleted file mode 100644 index d4eaa88..0000000 --- a/src/Engine3D/providers/Provider.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include "Provider.h" - -Provider::Provider(window *window) -{ - Ui::provide(window); - Input::provide(new Keyboard(), new Mouse()); -} - -void Provider::registerCamera(Camera *camera) -{ - m_camera = camera; -} - -void Provider::registerLight(Light &light) -{ - m_lights.push_back(light); -} - -void Provider::registerPerFrame(Object &object) -{ - m_perFrame.push_back(object); -} - -void Provider::registerPerUpdate(Object &object) -{ - m_perUpdate.push_back(object); -} - -void Provider::run(Shader &shader) -{ - float lastTime = 0; - IWindow* window = Ui::getWindow(); - - while(!window->shouldClose()) { - window->clear(); - - for(Object& obj : m_perFrame) - obj.update(shader, 0); - - if(lastTime) { - float dt = glfwGetTime() - lastTime; - m_camera->update(shader, dt); - for(Light& light : m_lights) light.update(shader, dt); - window->update(); - } - - Input::getMouse()->update(); - lastTime = glfwGetTime(); - } -} diff --git a/src/Engine3D/providers/Provider.h b/src/Engine3D/providers/Provider.h deleted file mode 100644 index cd2d0d5..0000000 --- a/src/Engine3D/providers/Provider.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "../services/input/mouse/Mouse.h" -#include "../services/input/keyboard/Keyboard.h" -#include "../services/input/Input.h" -#include "../services/ui/window/Window.h" -#include "../services/ui/Ui.h" -#include "../graphics/Object.h" -#include "../services/environment/Environment.h" -#include "../graphics/Camera.h" -#include "../graphics/Light.h" - -class Provider -{ -private: - std::vector m_perFrame; - std::vector m_perUpdate; - std::vector m_lights; - Camera* m_camera; - -public: - Provider(window* window); - - virtual void record() = 0; - - void registerCamera(Camera* camera); - void registerLight(Light& light); - void registerPerFrame(Object& object); - void registerPerUpdate(Object& object); - - void run(Shader& shader); - -}; \ No newline at end of file diff --git a/src/Engine3D/services/environment/Environment.cpp b/src/Engine3D/services/environment/Environment.cpp deleted file mode 100644 index 6e31bb8..0000000 --- a/src/Engine3D/services/environment/Environment.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "Environment.h" - -Graphics* Environment::m_graphics; -IWorld* Environment::m_world; - -void Environment::provide(IWorld* world, Graphics *graphics) -{ - m_world = world; - m_graphics = graphics; -} diff --git a/src/Engine3D/services/environment/Environment.h b/src/Engine3D/services/environment/Environment.h deleted file mode 100644 index 93f4a1f..0000000 --- a/src/Engine3D/services/environment/Environment.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include "graphics/Graphics.h" -#include "world/IWorld.h" - -class Environment -{ -public: - static Graphics* getGraphics() { return m_graphics; } - static IWorld* getWorld() { return m_world; } - - static void provide(IWorld* world, Graphics* graphics); -private: - static Graphics* m_graphics; - static IWorld* m_world; -}; \ No newline at end of file diff --git a/src/Engine3D/services/environment/graphics/Graphics.cpp b/src/Engine3D/services/environment/graphics/Graphics.cpp deleted file mode 100644 index 54fe483..0000000 --- a/src/Engine3D/services/environment/graphics/Graphics.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "Graphics.h" - -void Graphics::render(Mesh *mesh) const -{ - mesh->draw(); -} diff --git a/src/Engine3D/services/environment/graphics/Graphics.h b/src/Engine3D/services/environment/graphics/Graphics.h deleted file mode 100644 index 88d3fbb..0000000 --- a/src/Engine3D/services/environment/graphics/Graphics.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../../graphics/Mesh.h" - -class Graphics -{ -public: - virtual void render(Mesh* mesh) const; -}; \ No newline at end of file diff --git a/src/Engine3D/services/environment/world/IWorld.h b/src/Engine3D/services/environment/world/IWorld.h deleted file mode 100644 index 7167aa2..0000000 --- a/src/Engine3D/services/environment/world/IWorld.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../../graphics/Mesh.h" -#include "../../../graphics/Texture.h" - -class IWorld { -private: - std::map m_meshes; - std::map m_shaders; - std::map m_textures; - -public: - Mesh* getMesh(const std::string& name) { return m_meshes[name]; } - TextureMap* getTexture(const std::string& name) { return m_textures[name]; } - Shader* getShader(const std::string& name) { return m_shaders[name]; } - - void record(const std::string& name, Mesh* mesh) { m_meshes[name] = mesh; } - void record(const std::string& name, TextureMap* texture) { m_textures[name] = texture; } - void record(const std::string& name, Shader* shader) { m_shaders[name] = shader; } -}; \ No newline at end of file diff --git a/src/Engine3D/services/input/Input.cpp b/src/Engine3D/services/input/Input.cpp deleted file mode 100644 index b48dbd9..0000000 --- a/src/Engine3D/services/input/Input.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "Input.h" - -IKeyboard* Input::m_keyboard ; -IMouse* Input::m_mouse; -NullKeyboard Input::m_nullKeyboard; -NullMouse Input::m_nullMouse; - -void Input::provide(IKeyboard* keyboard, IMouse* mouse) -{ - if(keyboard == nullptr) { - m_keyboard = &m_nullKeyboard; - } - else { - m_keyboard = keyboard; - } - - if(mouse == nullptr) { - m_mouse = &m_nullMouse; - } - else { - m_mouse = mouse; - } -} diff --git a/src/Engine3D/services/input/Input.h b/src/Engine3D/services/input/Input.h deleted file mode 100644 index 13b490e..0000000 --- a/src/Engine3D/services/input/Input.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include "keyboard/IKeyboard.h" -#include "keyboard/NullKeyboard.h" -#include "mouse/IMouse.h" -#include "mouse/NullMouse.h" - -class Input -{ -public: - static IKeyboard* getKeyboard() { return m_keyboard; } - static IMouse* getMouse() { return m_mouse; } - static void provide(IKeyboard* keyboard, IMouse* mouse); -private: - static IKeyboard* m_keyboard; - static IMouse* m_mouse; - static NullKeyboard m_nullKeyboard; - static NullMouse m_nullMouse; -}; \ No newline at end of file diff --git a/src/Engine3D/services/input/keyboard/IKeyboard.h b/src/Engine3D/services/input/keyboard/IKeyboard.h deleted file mode 100644 index f925c05..0000000 --- a/src/Engine3D/services/input/keyboard/IKeyboard.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#define MAX_KEYS 500 - -class IKeyboard -{ -public: - virtual bool isKeyPressed(int key) const = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/services/input/keyboard/Keyboard.cpp b/src/Engine3D/services/input/keyboard/Keyboard.cpp deleted file mode 100644 index d072769..0000000 --- a/src/Engine3D/services/input/keyboard/Keyboard.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "Keyboard.h" -#include "../Input.h" - -void key_callback(GLFWwindow *window, int key, int scanCode, int action, int mods) -{ - Keyboard* keyboard = static_cast(Input::getKeyboard()); - keyboard->m_keys[key] = action != GLFW_RELEASE; -} diff --git a/src/Engine3D/services/input/keyboard/Keyboard.h b/src/Engine3D/services/input/keyboard/Keyboard.h deleted file mode 100644 index 5109b01..0000000 --- a/src/Engine3D/services/input/keyboard/Keyboard.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include -#include -#include "IKeyboard.h" - -class Keyboard : public IKeyboard -{ -private: - bool m_keys[MAX_KEYS] = {false}; - -public: - bool isKeyPressed(int key) const override { return m_keys[key]; } - friend void key_callback(GLFWwindow* window, int key, int scanCode, int action, int mods); -}; - -void key_callback(GLFWwindow* window, int key, int scanCode, int action, int mods); diff --git a/src/Engine3D/services/input/keyboard/NullKeyboard.h b/src/Engine3D/services/input/keyboard/NullKeyboard.h deleted file mode 100644 index 7061808..0000000 --- a/src/Engine3D/services/input/keyboard/NullKeyboard.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "IKeyboard.h" - -class NullKeyboard : public IKeyboard -{ -public: - bool isKeyPressed(int key) const override { return false; } -}; - diff --git a/src/Engine3D/services/input/mouse/IMouse.h b/src/Engine3D/services/input/mouse/IMouse.h deleted file mode 100644 index d2d6c76..0000000 --- a/src/Engine3D/services/input/mouse/IMouse.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#define MAX_BUTTONS 8 -#define SENSITIVITY 5.0f - -class IMouse -{ -public: - virtual bool isMouseButtonPressed(int button) const = 0; - virtual void update() = 0; - virtual glm::vec2 getCursorPosition() const = 0; - virtual glm::vec2 getCursorPositionOffset() const = 0; -}; \ No newline at end of file diff --git a/src/Engine3D/services/input/mouse/Mouse.cpp b/src/Engine3D/services/input/mouse/Mouse.cpp deleted file mode 100644 index bfa8ad7..0000000 --- a/src/Engine3D/services/input/mouse/Mouse.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "Mouse.h" -#include "../Input.h" -#include "../../ui/Ui.h" - -Mouse::Mouse() - : m_cursor_position(Ui::getWindow()->getWidth()/2, Ui::getWindow()->getHeight()/2), - m_previous_cursor_position(m_cursor_position) -{ - -} - -Mouse::~Mouse() -{ - -} - -void Mouse::update() -{ - m_previous_cursor_position = m_cursor_position; -} - -glm::vec2 Mouse::getCursorPositionOffset() const -{ - return glm::vec2( - m_cursor_position.x - m_previous_cursor_position.x, - m_previous_cursor_position.y - m_cursor_position.y - ); -} - -void cursor_position_callback(GLFWwindow *window, double x, double y) -{ - Mouse* mouse = static_cast(Input::getMouse()); - mouse->m_cursor_position = glm::vec2(x, y); -} - -void mouse_button_callback(GLFWwindow *window, int button, int action, int mods) -{ - Mouse* mouse = static_cast(Input::getMouse()); - mouse->m_mouse_buttons[button] = action != GLFW_RELEASE; -} - diff --git a/src/Engine3D/services/input/mouse/Mouse.h b/src/Engine3D/services/input/mouse/Mouse.h deleted file mode 100644 index 163c555..0000000 --- a/src/Engine3D/services/input/mouse/Mouse.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "IMouse.h" -#include "../../ui/window/IWindow.h" - -class Mouse : public IMouse -{ -private: - bool m_mouse_buttons[MAX_BUTTONS] = {false}; - glm::vec2 m_cursor_position = {0, 0}; - glm::vec2 m_previous_cursor_position = {0, 0}; - -public: - Mouse(); - virtual ~Mouse(); - - bool isMouseButtonPressed(int button) const override { return m_mouse_buttons[button]; } - glm::vec2 getCursorPosition() const override { return m_cursor_position; } - glm::vec2 getCursorPositionOffset() const override; - void update() override; - - friend void cursor_position_callback(GLFWwindow* window, double x, double y); - friend void mouse_button_callback(GLFWwindow* window, int button, int action, int mods); -}; - -void cursor_position_callback(GLFWwindow* window, double x, double y); -void mouse_button_callback(GLFWwindow* window, int button, int action, int mods); diff --git a/src/Engine3D/services/input/mouse/NullMouse.h b/src/Engine3D/services/input/mouse/NullMouse.h deleted file mode 100644 index 7ec9f60..0000000 --- a/src/Engine3D/services/input/mouse/NullMouse.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "IMouse.h" -#include "../../ui/window/IWindow.h" - -class NullMouse : public IMouse -{ -public: - virtual ~NullMouse() {} - - bool isMouseButtonPressed(int button) const override { return false; } - glm::vec2 getCursorPosition() const override { return glm::vec2(); } - glm::vec2 getCursorPositionOffset() const override { return glm::vec2(); } - - void update() override {} -}; - diff --git a/src/Engine3D/services/ui/Ui.cpp b/src/Engine3D/services/ui/Ui.cpp deleted file mode 100644 index 055cdd6..0000000 --- a/src/Engine3D/services/ui/Ui.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "Ui.h" - -IWindow* Ui::m_window; -NullWindow Ui::m_nullWindow; - -void Ui::provide(IWindow *window) -{ - if(window == nullptr) { - m_window = &m_nullWindow; - } - else { - m_window = window; - } -} diff --git a/src/Engine3D/services/ui/Ui.h b/src/Engine3D/services/ui/Ui.h deleted file mode 100644 index 37979da..0000000 --- a/src/Engine3D/services/ui/Ui.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include "window/IWindow.h" -#include "window/NullWindow.h" - -class Ui -{ -public: - static IWindow* getWindow() { return m_window; } - static void provide(IWindow* window); -private: - static IWindow* m_window; - static NullWindow m_nullWindow; -}; \ No newline at end of file diff --git a/src/Engine3D/services/ui/window/IWindow.h b/src/Engine3D/services/ui/window/IWindow.h deleted file mode 100644 index 0d33bee..0000000 --- a/src/Engine3D/services/ui/window/IWindow.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -class IWindow -{ -public: - virtual ~IWindow() {} - - virtual bool shouldClose() const = 0; - virtual int getWidth() const = 0; - virtual int getHeight() const = 0; - virtual float getAspectRatio() const = 0; - - virtual void clear() const = 0; - virtual void update() = 0; -}; diff --git a/src/Engine3D/services/ui/window/NullWindow.h b/src/Engine3D/services/ui/window/NullWindow.h deleted file mode 100644 index 771fa14..0000000 --- a/src/Engine3D/services/ui/window/NullWindow.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include "IWindow.h" - -class NullWindow : public IWindow -{ -public: - virtual ~NullWindow() {} - - bool shouldClose() const override { return false; } - int getWidth() const override { return 0; } - int getHeight() const override { return 0; } - float getAspectRatio() const override { return 1; } - - void clear() const override {} - void update() override {} -}; diff --git a/src/Engine3D/services/ui/window/Window.cpp b/src/Engine3D/services/ui/window/Window.cpp deleted file mode 100644 index 8d18497..0000000 --- a/src/Engine3D/services/ui/window/Window.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "Window.h" -#include "../../input/mouse/Mouse.h" -#include "../../input/keyboard/Keyboard.h" -#include - -window::window(const std::string &title, int width, int height) - : m_height(height), m_width(width), m_title(title) -{ - if(!glfwInit()) { - std::cout << "Can't initialize GLFW" << std::endl; - glfwTerminate(); - } - - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); - glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); - - if(!initWindowPointer()) { - std::cout << "Can't create window" << std::endl; - glfwDestroyWindow(m_window); - glfwTerminate(); - } - glewInit(); - glewExperimental = true; - - //glfwSetInputMode(m_window, GLFW_CURSOR, GLFW_CURSOR_DISABLED); - glfwSetCursorPos(m_window, width/2, height/2); - glEnable(GL_DEPTH_TEST); - - setCallbacks(); -} - -window::~window() -{ - glfwDestroyWindow(m_window); - glfwTerminate(); -} - -void window::setCallbacks() -{ - glfwSetErrorCallback(error_callback); - glfwSetKeyCallback(m_window, key_callback); - glfwSetCursorPosCallback(m_window, cursor_position_callback); - glfwSetMouseButtonCallback(m_window, mouse_button_callback); -} - -bool window::initWindowPointer() -{ - m_window = glfwCreateWindow(m_width, m_height, m_title.c_str(), nullptr, nullptr); - if(!m_window) { - return false; - } - glfwMakeContextCurrent(m_window); - - return true; -} - -void window::clear() const -{ - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glfwPollEvents(); -} - -void window::update() -{ - glfwSwapBuffers(m_window); -} - -void error_callback(int error, const char *description) -{ - std::cout << "Error#" << error << ": " << description << std::endl; -} \ No newline at end of file diff --git a/src/Engine3D/services/ui/window/Window.h b/src/Engine3D/services/ui/window/Window.h deleted file mode 100644 index 4b55d14..0000000 --- a/src/Engine3D/services/ui/window/Window.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include "IWindow.h" - -class window : public IWindow -{ -private: - std::string m_title; - int m_width; - int m_height; - GLFWwindow* m_window = nullptr; - -public: - window(const std::string& title, int width, int height); - virtual ~window(); - - bool shouldClose() const override { return glfwWindowShouldClose(m_window) == 1; } - int getWidth() const override { return m_width; } - int getHeight() const override { return m_height; } - float getAspectRatio() const override { return (float)getWidth()/getHeight(); } - - void clear() const override; - void update() override; - -private: - bool initWindowPointer(); - void setCallbacks(); -}; - -void error_callback(int error, const char* description); \ No newline at end of file diff --git a/src/Engine2D/api/API.cpp b/src/api/API.cpp similarity index 100% rename from src/Engine2D/api/API.cpp rename to src/api/API.cpp diff --git a/src/Engine2D/api/API.h b/src/api/API.h similarity index 100% rename from src/Engine2D/api/API.h rename to src/api/API.h diff --git a/src/Engine2D/events/Event.cpp b/src/events/Event.cpp similarity index 100% rename from src/Engine2D/events/Event.cpp rename to src/events/Event.cpp diff --git a/src/Engine2D/events/Event.h b/src/events/Event.h similarity index 100% rename from src/Engine2D/events/Event.h rename to src/events/Event.h diff --git a/src/Engine2D/events/IEventListener.h b/src/events/IEventListener.h similarity index 100% rename from src/Engine2D/events/IEventListener.h rename to src/events/IEventListener.h diff --git a/src/Engine2D/events/KeyEvent.cpp b/src/events/KeyEvent.cpp similarity index 100% rename from src/Engine2D/events/KeyEvent.cpp rename to src/events/KeyEvent.cpp diff --git a/src/Engine2D/events/KeyEvent.h b/src/events/KeyEvent.h similarity index 100% rename from src/Engine2D/events/KeyEvent.h rename to src/events/KeyEvent.h diff --git a/src/Engine2D/events/MouseEvent.cpp b/src/events/MouseEvent.cpp similarity index 100% rename from src/Engine2D/events/MouseEvent.cpp rename to src/events/MouseEvent.cpp diff --git a/src/Engine2D/events/MouseEvent.h b/src/events/MouseEvent.h similarity index 100% rename from src/Engine2D/events/MouseEvent.h rename to src/events/MouseEvent.h diff --git a/src/Engine2D/factories/MeshFactory.cpp b/src/factories/MeshFactory.cpp similarity index 100% rename from src/Engine2D/factories/MeshFactory.cpp rename to src/factories/MeshFactory.cpp diff --git a/src/Engine2D/factories/MeshFactory.h b/src/factories/MeshFactory.h similarity index 100% rename from src/Engine2D/factories/MeshFactory.h rename to src/factories/MeshFactory.h diff --git a/src/Engine2D/flow.cpp b/src/flow.cpp similarity index 100% rename from src/Engine2D/flow.cpp rename to src/flow.cpp diff --git a/src/Engine2D/flow.h b/src/flow.h similarity index 100% rename from src/Engine2D/flow.h rename to src/flow.h diff --git a/src/Engine2D/graphics/PostEffect.cpp b/src/graphics/PostEffect.cpp similarity index 100% rename from src/Engine2D/graphics/PostEffect.cpp rename to src/graphics/PostEffect.cpp diff --git a/src/Engine2D/graphics/PostEffect.h b/src/graphics/PostEffect.h similarity index 100% rename from src/Engine2D/graphics/PostEffect.h rename to src/graphics/PostEffect.h diff --git a/src/Engine2D/graphics/PostEffectPass.cpp b/src/graphics/PostEffectPass.cpp similarity index 100% rename from src/Engine2D/graphics/PostEffectPass.cpp rename to src/graphics/PostEffectPass.cpp diff --git a/src/Engine2D/graphics/PostEffectPass.h b/src/graphics/PostEffectPass.h similarity index 100% rename from src/Engine2D/graphics/PostEffectPass.h rename to src/graphics/PostEffectPass.h diff --git a/src/Engine2D/graphics/batchRenderer2d.cpp b/src/graphics/batchRenderer2d.cpp similarity index 100% rename from src/Engine2D/graphics/batchRenderer2d.cpp rename to src/graphics/batchRenderer2d.cpp diff --git a/src/Engine2D/graphics/batchRenderer2d.h b/src/graphics/batchRenderer2d.h similarity index 100% rename from src/Engine2D/graphics/batchRenderer2d.h rename to src/graphics/batchRenderer2d.h diff --git a/src/Engine2D/graphics/buffer/indexBuffer.cpp b/src/graphics/buffer/indexBuffer.cpp similarity index 100% rename from src/Engine2D/graphics/buffer/indexBuffer.cpp rename to src/graphics/buffer/indexBuffer.cpp diff --git a/src/Engine2D/graphics/buffer/indexBuffer.h b/src/graphics/buffer/indexBuffer.h similarity index 100% rename from src/Engine2D/graphics/buffer/indexBuffer.h rename to src/graphics/buffer/indexBuffer.h diff --git a/src/Engine2D/graphics/buffer/vertexArray.cpp b/src/graphics/buffer/vertexArray.cpp similarity index 100% rename from src/Engine2D/graphics/buffer/vertexArray.cpp rename to src/graphics/buffer/vertexArray.cpp diff --git a/src/Engine2D/graphics/buffer/vertexArray.h b/src/graphics/buffer/vertexArray.h similarity index 100% rename from src/Engine2D/graphics/buffer/vertexArray.h rename to src/graphics/buffer/vertexArray.h diff --git a/src/Engine2D/graphics/buffer/vertexBuffer.cpp b/src/graphics/buffer/vertexBuffer.cpp similarity index 100% rename from src/Engine2D/graphics/buffer/vertexBuffer.cpp rename to src/graphics/buffer/vertexBuffer.cpp diff --git a/src/Engine2D/graphics/buffer/vertexBuffer.h b/src/graphics/buffer/vertexBuffer.h similarity index 100% rename from src/Engine2D/graphics/buffer/vertexBuffer.h rename to src/graphics/buffer/vertexBuffer.h diff --git a/src/Engine2D/graphics/frameBuffer.cpp b/src/graphics/frameBuffer.cpp similarity index 100% rename from src/Engine2D/graphics/frameBuffer.cpp rename to src/graphics/frameBuffer.cpp diff --git a/src/Engine2D/graphics/frameBuffer.h b/src/graphics/frameBuffer.h similarity index 100% rename from src/Engine2D/graphics/frameBuffer.h rename to src/graphics/frameBuffer.h diff --git a/src/Engine2D/graphics/layers/group.cpp b/src/graphics/layers/group.cpp similarity index 100% rename from src/Engine2D/graphics/layers/group.cpp rename to src/graphics/layers/group.cpp diff --git a/src/Engine2D/graphics/layers/group.h b/src/graphics/layers/group.h similarity index 100% rename from src/Engine2D/graphics/layers/group.h rename to src/graphics/layers/group.h diff --git a/src/Engine2D/graphics/layers/layer.cpp b/src/graphics/layers/layer.cpp similarity index 100% rename from src/Engine2D/graphics/layers/layer.cpp rename to src/graphics/layers/layer.cpp diff --git a/src/Engine2D/graphics/layers/layer.h b/src/graphics/layers/layer.h similarity index 100% rename from src/Engine2D/graphics/layers/layer.h rename to src/graphics/layers/layer.h diff --git a/src/Engine2D/graphics/mask.h b/src/graphics/mask.h similarity index 100% rename from src/Engine2D/graphics/mask.h rename to src/graphics/mask.h diff --git a/src/Engine2D/graphics/renderable2d.cpp b/src/graphics/renderable2d.cpp similarity index 100% rename from src/Engine2D/graphics/renderable2d.cpp rename to src/graphics/renderable2d.cpp diff --git a/src/Engine2D/graphics/renderable2d.h b/src/graphics/renderable2d.h similarity index 100% rename from src/Engine2D/graphics/renderable2d.h rename to src/graphics/renderable2d.h diff --git a/src/Engine2D/graphics/renderer2d.cpp b/src/graphics/renderer2d.cpp similarity index 100% rename from src/Engine2D/graphics/renderer2d.cpp rename to src/graphics/renderer2d.cpp diff --git a/src/Engine2D/graphics/renderer2d.h b/src/graphics/renderer2d.h similarity index 100% rename from src/Engine2D/graphics/renderer2d.h rename to src/graphics/renderer2d.h diff --git a/src/Engine2D/graphics/shader.cpp b/src/graphics/shader.cpp similarity index 100% rename from src/Engine2D/graphics/shader.cpp rename to src/graphics/shader.cpp diff --git a/src/Engine2D/graphics/shader.h b/src/graphics/shader.h similarity index 100% rename from src/Engine2D/graphics/shader.h rename to src/graphics/shader.h diff --git a/src/Engine2D/graphics/sprite.cpp b/src/graphics/sprite.cpp similarity index 100% rename from src/Engine2D/graphics/sprite.cpp rename to src/graphics/sprite.cpp diff --git a/src/Engine2D/graphics/sprite.h b/src/graphics/sprite.h similarity index 100% rename from src/Engine2D/graphics/sprite.h rename to src/graphics/sprite.h diff --git a/src/Engine2D/graphics/texture.cpp b/src/graphics/texture.cpp similarity index 100% rename from src/Engine2D/graphics/texture.cpp rename to src/graphics/texture.cpp diff --git a/src/Engine2D/graphics/texture.h b/src/graphics/texture.h similarity index 100% rename from src/Engine2D/graphics/texture.h rename to src/graphics/texture.h diff --git a/src/Engine2D/graphics/textureManager.cpp b/src/graphics/textureManager.cpp similarity index 100% rename from src/Engine2D/graphics/textureManager.cpp rename to src/graphics/textureManager.cpp diff --git a/src/Engine2D/graphics/textureManager.h b/src/graphics/textureManager.h similarity index 100% rename from src/Engine2D/graphics/textureManager.h rename to src/graphics/textureManager.h diff --git a/src/Engine2D/graphics/window.cpp b/src/graphics/window.cpp similarity index 100% rename from src/Engine2D/graphics/window.cpp rename to src/graphics/window.cpp diff --git a/src/Engine2D/graphics/window.h b/src/graphics/window.h similarity index 100% rename from src/Engine2D/graphics/window.h rename to src/graphics/window.h diff --git a/src/Engine2D/utils/fileutils.h b/src/utils/fileutils.h similarity index 100% rename from src/Engine2D/utils/fileutils.h rename to src/utils/fileutils.h diff --git a/src/Engine2D/utils/math.h b/src/utils/math.h similarity index 100% rename from src/Engine2D/utils/math.h rename to src/utils/math.h