Added GBuffer

This commit is contained in:
antopilo
2021-08-31 23:27:19 -04:00
parent 1b916993e0
commit 54a138c044
19 changed files with 178 additions and 591 deletions

View File

@@ -78,6 +78,11 @@ namespace Nuake {
return m_Framebuffer;
}
Ref<FrameBuffer> Window::GetGBuffer() const
{
return m_GBuffer;
}
Vector2 Window::GetSize()
{
int w, h = 0;
@@ -135,6 +140,12 @@ namespace Nuake {
m_Framebuffer = CreateRef<FrameBuffer>(true, glm::vec2(1920, 1080));
m_Framebuffer->SetTexture(CreateRef<Texture>(glm::vec2(1920, 1080), GL_RGB));
m_GBuffer = CreateRef<FrameBuffer>(false, Vector2(1920, 1080));
m_GBuffer->SetTexture(CreateRef<Texture>(Vector2(1920, 1080), GL_DEPTH_COMPONENT), GL_DEPTH_ATTACHMENT);
m_GBuffer->SetTexture(CreateRef<Texture>(Vector2(1920, 1080), GL_RGB), GL_COLOR_ATTACHMENT0);
m_GBuffer->SetTexture(CreateRef<Texture>(Vector2(1920, 1080), GL_RGB), GL_COLOR_ATTACHMENT1);
m_GBuffer->SetTexture(CreateRef<Texture>(Vector2(1920, 1080), GL_RGB), GL_COLOR_ATTACHMENT2);
// Temporary quad vbo for deferred.
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
@@ -258,6 +269,15 @@ namespace Nuake {
}
m_Framebuffer->Unbind();
m_GBuffer->Bind();
m_GBuffer->Clear();
{
m_Scene->EditorDrawDeferred();
}
m_GBuffer->Unbind();
Renderer::EndDraw();
}