diff --git a/Escape-the-Dawn/Model.cpp b/Escape-the-Dawn/Model.cpp index 13ae0e1..7f73b60 100644 --- a/Escape-the-Dawn/Model.cpp +++ b/Escape-the-Dawn/Model.cpp @@ -22,9 +22,21 @@ void Model::temp_CreateModelShit() Vertices.push_back(0.0f); Vertices.push_back(2.0f); - Normals.push_back(1.0f); - Normals.push_back(1.0f); - Normals.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + Colors.push_back(1.0f); + } @@ -35,15 +47,15 @@ void Model::CreateBuffers( std::vector _Vertices, std::vector _Nor glBufferData(GL_ARRAY_BUFFER, Vertices.size()*sizeof(float), Vertices.data(), GL_STATIC_DRAW); GLERROR("GLEW: BufferFail1"); - glGenBuffers(1, &NormalBuffer); - glBindBuffer(GL_ARRAY_BUFFER, NormalBuffer); - glBufferData(GL_ARRAY_BUFFER, Normals.size()*sizeof(float), Normals.data(), GL_STATIC_DRAW); + glGenBuffers(1, &Colorbuffer); + glBindBuffer(GL_ARRAY_BUFFER, Colorbuffer); + glBufferData(GL_ARRAY_BUFFER, Colors.size()*sizeof(float), Colors.data(), GL_STATIC_DRAW); GLERROR("GLEW: BufferFail2"); - glGenBuffers(1, &TextureCoordBuffer); - glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer); - glBufferData(GL_ARRAY_BUFFER, TextureCoords.size()*sizeof(float), TextureCoords.data(), GL_STATIC_DRAW); - GLERROR("GLEW: BufferFail3"); +// glGenBuffers(1, &TextureCoordBuffer); +// glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer); +// glBufferData(GL_ARRAY_BUFFER, TextureCoords.size()*sizeof(float), TextureCoords.data(), GL_STATIC_DRAW); +// GLERROR("GLEW: BufferFail3"); glGenVertexArrays(1, &VAO); glBindVertexArray(VAO); @@ -53,15 +65,15 @@ void Model::CreateBuffers( std::vector _Vertices, std::vector _Nor glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); GLERROR("GLEW: BufferFail5"); - glBindBuffer(GL_ARRAY_BUFFER, NormalBuffer); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, 0); + glBindBuffer(GL_ARRAY_BUFFER, Colorbuffer); + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 0, 0); - glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer); - glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 0, 0); +// glBindBuffer(GL_ARRAY_BUFFER, TextureCoordBuffer); +// glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); - glEnableVertexAttribArray(2); +/* glEnableVertexAttribArray(2);*/ GLERROR("GLEW: BufferFail5"); } diff --git a/Escape-the-Dawn/Model.h b/Escape-the-Dawn/Model.h index 9b1e51e..dbd7197 100644 --- a/Escape-the-Dawn/Model.h +++ b/Escape-the-Dawn/Model.h @@ -22,12 +22,12 @@ class Model { public: glm::vec3 Position; + std::vector Colors; std::vector Vertices; std::vector Normals; std::vector TextureCoords; - - + GLuint Colorbuffer; GLuint VertBuffer; GLuint NormalBuffer; GLuint TextureCoordBuffer; diff --git a/Escape-the-Dawn/Renderer/Renderer.cpp b/Escape-the-Dawn/Renderer/Renderer.cpp index cfed691..62d014a 100644 --- a/Escape-the-Dawn/Renderer/Renderer.cpp +++ b/Escape-the-Dawn/Renderer/Renderer.cpp @@ -30,6 +30,23 @@ void Renderer::AddObjectToDraw() //Fixa med shaders, lägga in alla verts osv. +void Renderer::LoadContent() +{ + glEnable(GL_DEPTH_TEST); + LOG_INFO("Compiling Shader"); + + GLuint vertexShader = CompileShader(GL_VERTEX_SHADER, "Shaders/Vertex.glsl"); + GLuint fragmentShader = CompileShader(GL_FRAGMENT_SHADER, "Shaders\Fragment.glsl"); + + shaderProgram = glCreateProgram(); + glAttachShader(shaderProgram, vertexShader); + glAttachShader(shaderProgram, fragmentShader); + LOG_INFO("Linking shader program..."); + glLinkProgram(shaderProgram); + if(GLERROR("glLinkProgram")) + exit(EXIT_FAILURE); + +} GLuint Renderer::CompileShader(GLenum shaderType, std::string fileName) { diff --git a/Escape-the-Dawn/Renderer/Renderer.h b/Escape-the-Dawn/Renderer/Renderer.h index caa0cfc..a7224d2 100644 --- a/Escape-the-Dawn/Renderer/Renderer.h +++ b/Escape-the-Dawn/Renderer/Renderer.h @@ -36,6 +36,7 @@ public: void AddObjectToDraw(); void AddTextToDraw(); + void LoadContent(); GLuint CompileShader(GLenum, std::string); }; \ No newline at end of file