Backbone to deferred rendering started
This commit is contained in:
@@ -75,6 +75,7 @@ private:
|
|||||||
|
|
||||||
GLuint m_ScreenQuad = 0;
|
GLuint m_ScreenQuad = 0;
|
||||||
Model* m_UnitSphere = nullptr;
|
Model* m_UnitSphere = nullptr;
|
||||||
|
Model* m_UnitQuad = nullptr;
|
||||||
|
|
||||||
GLuint m_rbDepthBuffer = 0;
|
GLuint m_rbDepthBuffer = 0;
|
||||||
GLuint m_fbDeferred1 = 0;
|
GLuint m_fbDeferred1 = 0;
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ void dd::Renderer::LoadShaders()
|
|||||||
void dd::Renderer::CreateBuffers()
|
void dd::Renderer::CreateBuffers()
|
||||||
{
|
{
|
||||||
m_ScreenQuad = CreateQuad();
|
m_ScreenQuad = CreateQuad();
|
||||||
|
m_UnitQuad = ResourceManager::Load<Model>("Models/Core/UnitQuad.obj");
|
||||||
m_UnitSphere = ResourceManager::Load<Model>("Models/Core/UnitSphere.obj");
|
m_UnitSphere = ResourceManager::Load<Model>("Models/Core/UnitSphere.obj");
|
||||||
|
|
||||||
glGenRenderbuffers(1, &m_rbDepthBuffer);
|
glGenRenderbuffers(1, &m_rbDepthBuffer);
|
||||||
@@ -329,7 +330,6 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program)
|
|||||||
if (spriteJob)
|
if (spriteJob)
|
||||||
{
|
{
|
||||||
glm::mat4 modelMatrix = spriteJob->ModelMatrix;
|
glm::mat4 modelMatrix = spriteJob->ModelMatrix;
|
||||||
modelMatrix = modelMatrix * glm::scale(glm::vec3(0.5f));
|
|
||||||
MVP = PV * modelMatrix;
|
MVP = PV * modelMatrix;
|
||||||
glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP));
|
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, "M"), 1, GL_FALSE, glm::value_ptr(modelMatrix));
|
||||||
@@ -342,8 +342,9 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program)
|
|||||||
glActiveTexture(GL_TEXTURE2);
|
glActiveTexture(GL_TEXTURE2);
|
||||||
glBindTexture(GL_TEXTURE_2D, spriteJob->SpecularTexture);
|
glBindTexture(GL_TEXTURE_2D, spriteJob->SpecularTexture);
|
||||||
|
|
||||||
glBindVertexArray(m_ScreenQuad);
|
glBindVertexArray(m_UnitQuad->VAO);
|
||||||
glDrawArrays(GL_TRIANGLES, 0, 6);
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_UnitQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_UnitQuad->m_Indices.size(), GL_UNSIGNED_INT, 0, 0);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,6 @@ void main()
|
|||||||
|
|
||||||
vec4 diffuseTexel = texture(DiffuseTexture, Input.TextureCoord);
|
vec4 diffuseTexel = texture(DiffuseTexture, Input.TextureCoord);
|
||||||
|
|
||||||
FragmentColor = phong(Input.Position, normalize(normal), specularTexel.rgb, specularTexel.a);
|
//FragmentColor = phong(Input.Position, normalize(normal), specularTexel.rgb, specularTexel.a);
|
||||||
//FragmentColor = diffuseTexel;
|
FragmentColor = diffuseTexel;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user