WIP Renderer

This commit is contained in:
Tobias Dahl
2014-03-09 21:15:40 +01:00
parent 0b67d7cc7b
commit d749bd3464
2 changed files with 11 additions and 11 deletions
+6 -8
View File
@@ -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<glm::vec3> Normals;
// std::vector<glm::vec2> 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.
+5 -3
View File
@@ -17,6 +17,8 @@
#include <glm/gtc/constants.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glm/gtc/quaternion.hpp>
#include <glm/gtx/quaternion.hpp>
#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();