Renderer: Expose RenderTarget and framebuffers indices

This commit is contained in:
Jérôme Leclercq
2021-07-03 13:52:29 +02:00
parent 930142b7a7
commit f14db3f5e9
33 changed files with 300 additions and 312 deletions

View File

@@ -19,7 +19,7 @@ namespace Nz
m_commandBuffer.BeginDebugRegion(regionName, color);
}
void OpenGLCommandBufferBuilder::BeginRenderPass(const Framebuffer& framebuffer, const RenderPass& renderPass, Nz::Recti /*renderRect*/, const ClearValues* clearValues, std::size_t clearValueCount)
void OpenGLCommandBufferBuilder::BeginRenderPass(const Framebuffer& framebuffer, const RenderPass& renderPass, const Recti& /*renderRect*/, const ClearValues* clearValues, std::size_t clearValueCount)
{
m_commandBuffer.SetFramebuffer(static_cast<const OpenGLFramebuffer&>(framebuffer), static_cast<const OpenGLRenderPass&>(renderPass), clearValues, clearValueCount);
}
@@ -110,12 +110,12 @@ namespace Nz
/* nothing to do */
}
void OpenGLCommandBufferBuilder::SetScissor(Nz::Recti scissorRegion)
void OpenGLCommandBufferBuilder::SetScissor(const Recti& scissorRegion)
{
m_commandBuffer.SetScissor(scissorRegion);
}
void OpenGLCommandBufferBuilder::SetViewport(Nz::Recti viewportRegion)
void OpenGLCommandBufferBuilder::SetViewport(const Recti& viewportRegion)
{
m_commandBuffer.SetViewport(viewportRegion);
}

View File

@@ -32,7 +32,7 @@ namespace Nz
m_size = size;
}
return RenderFrame(m_renderImage[m_currentFrame].get(), invalidateFramebuffer);
return RenderFrame(m_renderImage[m_currentFrame].get(), invalidateFramebuffer, m_size, 0);
}
bool OpenGLRenderWindow::Create(RendererImpl* renderer, RenderSurface* surface, const RenderWindowParameters& parameters)
@@ -98,11 +98,18 @@ namespace Nz
return std::make_unique<OpenGLCommandPool>();
}
const OpenGLFramebuffer& OpenGLRenderWindow::GetFramebuffer() const
const OpenGLFramebuffer& OpenGLRenderWindow::GetFramebuffer(std::size_t i) const
{
assert(i == 0);
NazaraUnused(i);
return m_framebuffer;
}
std::size_t OpenGLRenderWindow::GetFramebufferCount() const
{
return 1;
}
const OpenGLRenderPass& OpenGLRenderWindow::GetRenderPass() const
{
return *m_renderPass;