From d749bd34647bbc5b709ffc9a57efcf2b9e82a567 Mon Sep 17 00:00:00 2001 From: Tobias Dahl Date: Sun, 9 Mar 2014 21:15:40 +0100 Subject: [PATCH] WIP Renderer --- Escape-the-Dawn/Renderer.cpp | 14 ++++++-------- Escape-the-Dawn/Renderer.h | 8 +++++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Escape-the-Dawn/Renderer.cpp b/Escape-the-Dawn/Renderer.cpp index 655391c..a038c16 100644 --- a/Escape-the-Dawn/Renderer.cpp +++ b/Escape-the-Dawn/Renderer.cpp @@ -60,18 +60,13 @@ void Renderer::Draw(double _dt) for(int i = 0; i < ModelsToRender.size(); i++) { glActiveTexture(GL_TEXTURE0); - //FIXA MED FLERA TEXTURER glBindTexture(GL_TEXTURE_2D, ModelsToRender[i]->model->texture[0]->texture); - MVP = cameraMatrix; // * ModelMatrix; + MVP = cameraMatrix * ModelsToRender[i]->ModelMatrix; glUniformMatrix4fv(glGetUniformLocation(m_ShaderProgram.GetHandle(), "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); glBindVertexArray(ModelsToRender[i]->model->VAO); glDrawArrays(GL_TRIANGLES, 0, ModelsToRender[i]->model->Vertices.size()); } - ModelsToRender.clear(); -// Vertices; -// std::vector Normals; -// std::vector TextureCoords; glfwSwapBuffers(m_Window); } @@ -86,9 +81,12 @@ void Renderer::AddTextToDraw() //Add to draw shit vector } -void Renderer::AddModelToDraw(Model* _model, glm::mat4 _modelMatrix) +void Renderer::AddModelToDraw(Model* _model, glm::vec3 _position, glm::quat _orientation) { - ModelsToRender.push_back(new ModelData(_model, _modelMatrix)); + glm::mat4 RotationMatrix = glm::toMat4(_orientation); + glm::mat4 ModelMatrix = glm::translate(glm::mat4(), _position) * RotationMatrix ; + // You can now use ModelMatrix to build the MVP matrix + ModelsToRender.push_back(new ModelData(_model, ModelMatrix)); } //Fixa med shaders, lägga in alla verts osv. diff --git a/Escape-the-Dawn/Renderer.h b/Escape-the-Dawn/Renderer.h index dfe0333..e526ccd 100644 --- a/Escape-the-Dawn/Renderer.h +++ b/Escape-the-Dawn/Renderer.h @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include "glerror.h" #include "Camera.h" @@ -35,8 +37,8 @@ public: struct ModelData { Model* model; - glm::mat4 modelMatrix; - ModelData(Model* _model, glm::mat4 _modelMatrix) : model(_model), modelMatrix(_modelMatrix) + glm::mat4 ModelMatrix; + ModelData(Model* _model, glm::mat4 _modelMatrix) : model(_model), ModelMatrix(_modelMatrix) {} }; @@ -48,7 +50,7 @@ public: void Draw(double dt); void DrawText(); - void AddModelToDraw(Model*, glm::mat4); + void AddModelToDraw(Model*, glm::vec3, glm::quat); void AddTextToDraw(); void LoadContent();