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