WIP Renderer

This commit is contained in:
Tobias Dahl
2014-03-09 20:36:19 +01:00
parent b5349ba93c
commit a9e3e91203
2 changed files with 17 additions and 8 deletions
+7 -6
View File
@@ -102,13 +102,14 @@ void Renderer::Draw(double _dt)
{ {
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);
//FIXA MED FLERA TEXTURER //FIXA MED FLERA TEXTURER
glBindTexture(GL_TEXTURE_2D, ModelsToRender[i]->texture[0]->texture); glBindTexture(GL_TEXTURE_2D, ModelsToRender[i]->model->texture[0]->texture);
//MVP = projectionMatrix * viewMatrix * /* ModelMatrix */; MVP = projectionMatrix * viewMatrix * ModelsToRender[i]->modelMatrix;
glUniformMatrix4fv(glGetUniformLocation(m_ShaderProgram.GetHandle(), "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); glUniformMatrix4fv(glGetUniformLocation(m_ShaderProgram.GetHandle(), "MVP"), 1, GL_FALSE, glm::value_ptr(MVP));
glBindVertexArray(ModelsToRender[i]->VAO); glBindVertexArray(ModelsToRender[i]->model->VAO);
glDrawArrays(GL_TRIANGLES, 0, ModelsToRender[i]->Vertices.size()); glDrawArrays(GL_TRIANGLES, 0, ModelsToRender[i]->model->Vertices.size());
} }
ModelsToRender.clear();
// Vertices; // Vertices;
// std::vector<glm::vec3> Normals; // std::vector<glm::vec3> Normals;
// std::vector<glm::vec2> TextureCoords; // std::vector<glm::vec2> TextureCoords;
@@ -126,9 +127,9 @@ void Renderer::AddTextToDraw()
//Add to draw shit vector //Add to draw shit vector
} }
void Renderer::AddModelToDraw(Model* _model) void Renderer::AddModelToDraw(Model* _model, glm::mat4 _modelMatrix)
{ {
ModelsToRender.push_back(_model); ModelsToRender.push_back(new ModelData(_model, _modelMatrix));
} }
//Fixa med shaders, lägga in alla verts osv. //Fixa med shaders, lägga in alla verts osv.
+10 -2
View File
@@ -31,7 +31,15 @@ public:
int HEIGHT, WIDTH; int HEIGHT, WIDTH;
std::vector<Model*> ModelsToRender; struct ModelData
{
Model* model;
glm::mat4 modelMatrix;
ModelData(Model* _model, glm::mat4 _modelMatrix) : model(_model), modelMatrix(_modelMatrix)
{}
};
std::vector<ModelData*> ModelsToRender;
Renderer(); Renderer();
@@ -40,7 +48,7 @@ public:
void Draw(double dt); void Draw(double dt);
void DrawText(); void DrawText();
void AddModelToDraw(Model*); void AddModelToDraw(Model*, glm::mat4);
void AddTextToDraw(); void AddTextToDraw();
void LoadContent(); void LoadContent();