diff --git a/Escape-the-Dawn/Escape-the-Dawn.vcxproj b/Escape-the-Dawn/Escape-the-Dawn.vcxproj index 25fbc2c..8f1c0fb 100644 --- a/Escape-the-Dawn/Escape-the-Dawn.vcxproj +++ b/Escape-the-Dawn/Escape-the-Dawn.vcxproj @@ -89,7 +89,14 @@ - + + + + + + + + @@ -98,12 +105,19 @@ - + + + + + + + + - - + + diff --git a/Escape-the-Dawn/Escape-the-Dawn.vcxproj.filters b/Escape-the-Dawn/Escape-the-Dawn.vcxproj.filters index cf68ad5..4eb8949 100644 --- a/Escape-the-Dawn/Escape-the-Dawn.vcxproj.filters +++ b/Escape-the-Dawn/Escape-the-Dawn.vcxproj.filters @@ -25,12 +25,39 @@ {26dccea6-3d9c-4d5f-9db2-98621e35ffcb} + + {e7de2e5a-0a73-437a-8d01-5f23770e5cba} + + + {7673cacc-e435-4028-9354-b2c8b559c7b3} + Source Files - + + Source Files\Systems + + + Source Files\Systems + + + Source Files\Systems + + + Source Files\Systems + + + Source Files\Systems + + + Source Files\Systems + + + Source Files\Systems + + Source Files\Renderer @@ -56,15 +83,36 @@ Header Files - + + Header Files\Systems + + + Header Files\Systems + + + Header Files\Systems + + + Header Files\Systems + + + Header Files\Systems + + + Header Files\Systems + + + Header Files\Systems + + Header Files\Renderer - + Shaders - + Shaders diff --git a/Escape-the-Dawn/RenderSystem.cpp b/Escape-the-Dawn/RenderSystem.cpp new file mode 100644 index 0000000..c19a456 --- /dev/null +++ b/Escape-the-Dawn/RenderSystem.cpp @@ -0,0 +1 @@ +//Skicka models och skit till renderer. \ No newline at end of file diff --git a/Escape-the-Dawn/Renderer.cpp b/Escape-the-Dawn/Renderer.cpp index 35198d9..aa59a22 100644 --- a/Escape-the-Dawn/Renderer.cpp +++ b/Escape-the-Dawn/Renderer.cpp @@ -1,21 +1,18 @@ -#include "Renderer.h" +#include "Renderer/Renderer.h" Renderer::Renderer() { } -void Renderer::PushVertices(std::vector _Verts) +void Renderer::Draw() { - Vertices.push_back(_Verts); + } -void Renderer::PushNormals(std::vector _Normals) + +void Renderer::DrawText() { - Normals.push_back(_Normals); -} -void Renderer::PushTextureCoords(std::vector _Textcords) -{ - TextureCoords.push_back(_Textcords); + } //Fixa med shaders, lägga in alla verts osv. @@ -64,5 +61,4 @@ GLuint Renderer::CompileShader(GLenum shaderType, std::string fileName) return 0; return shader; - } \ No newline at end of file diff --git a/Escape-the-Dawn/Renderer.h b/Escape-the-Dawn/Renderer.h index 8cd7cad..4dc117b 100644 --- a/Escape-the-Dawn/Renderer.h +++ b/Escape-the-Dawn/Renderer.h @@ -25,14 +25,10 @@ public: GLuint VAO; Renderer(); + + void Draw(); + void DrawText(); - std::vector> Vertices; - std::vector> Normals; - std::vector> TextureCoords; - - void PushVertices(std::vector); - void PushNormals(std::vector); - void PushTextureCoords(std::vector); GLuint CompileShader(GLenum, std::string); }; \ No newline at end of file diff --git a/Escape-the-Dawn/Renderer/Renderer.cpp b/Escape-the-Dawn/Renderer/Renderer.cpp new file mode 100644 index 0000000..c4134b9 --- /dev/null +++ b/Escape-the-Dawn/Renderer/Renderer.cpp @@ -0,0 +1,55 @@ +#include "Renderer.h" + +Renderer::Renderer() +{ + +} + +//Fixa med shaders, lägga in alla verts osv. + + +GLuint Renderer::CompileShader(GLenum shaderType, std::string fileName) +{ + std::string shaderFile; + std::ifstream in(fileName, std::ios::in); + + if(!in) + { + LOG_ERROR("Error: Failed to open shader file %s", fileName); + return 0; + } + in.seekg(0, std::ios::end); + shaderFile.resize((int)in.tellg()); + in.seekg(0, std::ios::beg); + in.read(&shaderFile[0], shaderFile.size()); + in.close(); + + GLuint shader = glCreateShader(shaderType); //GL_VERTEX_SHADER, GL_FRAGMENT_SHADER + if(GLERROR("glCreateShader")) + return 0; + + const GLchar* shaderFiles = shaderFile.c_str(); + const GLint length = shaderFile.length(); + glShaderSource(shader, 1, &shaderFiles, &length); + if(GLERROR("glShaderSource")) + return 0; + + glCompileShader(shader); + GLint compileStatus; + glGetShaderiv(shader, GL_COMPILE_STATUS, &compileStatus); + if(compileStatus != GL_TRUE) + { + GLsizei infoLogLength; + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); + GLchar* infolog = new GLchar[infoLogLength]; + glGetShaderInfoLog(shader, infoLogLength, &infoLogLength, infolog); + std::cerr << infolog << std::endl; + delete[] infolog; + } + + if(GLERROR("glCompileShader")) + return 0; + + return shader; + +} \ No newline at end of file diff --git a/Escape-the-Dawn/Renderer/Renderer.h b/Escape-the-Dawn/Renderer/Renderer.h new file mode 100644 index 0000000..f65b597 --- /dev/null +++ b/Escape-the-Dawn/Renderer/Renderer.h @@ -0,0 +1,37 @@ +#include +#include +#include +#include +#include + +#define _CRT_SECURE_NO_WARNINGS +#include +#define GLFW_INCLUDE_GLU +#include +#include +#define GLM_FORCE_RADIANS +#include +#include +#include +#include + +#include "glerror.h" + + +class Renderer +{ +public: + GLuint shaderProgram; + GLuint VAO; + + Renderer(); + + void Draw(); + void DrawText(); + + void AddObjectToDraw(); + void AddTextToDraw(); + + GLuint CompileShader(GLenum, std::string); + +}; \ No newline at end of file diff --git a/Escape-the-Dawn/Fragment.glsl b/Escape-the-Dawn/Shaders/Fragment.glsl similarity index 100% rename from Escape-the-Dawn/Fragment.glsl rename to Escape-the-Dawn/Shaders/Fragment.glsl diff --git a/Escape-the-Dawn/Vertex.glsl b/Escape-the-Dawn/Shaders/Vertex.glsl similarity index 100% rename from Escape-the-Dawn/Vertex.glsl rename to Escape-the-Dawn/Shaders/Vertex.glsl diff --git a/Escape-the-Dawn/Systems/CollisionSystem.cpp b/Escape-the-Dawn/Systems/CollisionSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/CollisionSystem.h b/Escape-the-Dawn/Systems/CollisionSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/InputSystem.cpp b/Escape-the-Dawn/Systems/InputSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/InputSystem.h b/Escape-the-Dawn/Systems/InputSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/LevelGenerationSystem.cpp b/Escape-the-Dawn/Systems/LevelGenerationSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/LevelGenerationSystem.h b/Escape-the-Dawn/Systems/LevelGenerationSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/ParticleSystem.cpp b/Escape-the-Dawn/Systems/ParticleSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/ParticleSystem.h b/Escape-the-Dawn/Systems/ParticleSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/PlayerSystem.cpp b/Escape-the-Dawn/Systems/PlayerSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/PlayerSystem.h b/Escape-the-Dawn/Systems/PlayerSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/RenderSystem.cpp b/Escape-the-Dawn/Systems/RenderSystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/RenderSystem.h b/Escape-the-Dawn/Systems/RenderSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/SoundSystem.h b/Escape-the-Dawn/Systems/SoundSystem.h new file mode 100644 index 0000000..e69de29 diff --git a/Escape-the-Dawn/Systems/SoundsSystem.cpp b/Escape-the-Dawn/Systems/SoundsSystem.cpp new file mode 100644 index 0000000..e69de29