Working sprite rendering. Removed bone transforms for now.

This commit is contained in:
2015-09-10 16:23:24 +02:00
parent 61efddb52e
commit 54bed28327
3 changed files with 60 additions and 9 deletions
Regular → Executable
+22 -2
View File
@@ -322,6 +322,26 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program)
glBindVertexArray(modelJob->VAO);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, modelJob->ElementBuffer);
glDrawElementsBaseVertex(GL_TRIANGLES, modelJob->EndIndex - modelJob->StartIndex + 1, GL_UNSIGNED_INT, 0, modelJob->StartIndex);
continue;
}
auto spriteJob = std::dynamic_pointer_cast<SpriteJob>(job);
if (spriteJob)
{
glm::mat4 modelMatrix = spriteJob->ModelMatrix;
MVP = PV * modelMatrix;
glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP));
glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "M"), 1, GL_FALSE, glm::value_ptr(modelMatrix));
glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "V"), 1, GL_FALSE, glm::value_ptr(viewMatrix));
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, spriteJob->Texture);
glBindVertexArray(m_UnitQuad);
glDrawArrays(GL_TRIANGLES, 0, 6);
continue;
}
}
}
@@ -396,9 +416,9 @@ GLuint dd::Renderer::CreateQuad()
glBindBuffer(GL_ARRAY_BUFFER, vbo[0]);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, vbo[1]);
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 0, 0);
glVertexAttribPointer(4, 2, GL_FLOAT, GL_FALSE, 0, 0);
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(2);
glEnableVertexAttribArray(4);
glBindVertexArray(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
+2 -1
View File
@@ -65,7 +65,8 @@ void main()
+ BoneWeights2[3] * Bones[int(BoneIndices2[3])];
}
gl_Position = MVP * boneTransform * vec4(Position, 1.0);
//gl_Position = MVP * boneTransform * vec4(Position, 1.0);
gl_Position = MVP * vec4(Position, 1.0);
Output.Position = (V * M * boneTransform * vec4(Position, 1.0)).xyz;
Output.Normal = (inverse(transpose(V * M)) * boneTransform * vec4(Normal, 0.0)).xyz;