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

@@ -35,7 +35,7 @@ namespace Nz
OpenGLCommandBuffer(OpenGLCommandBuffer&&) = delete;
~OpenGLCommandBuffer() = default;
inline void BeginDebugRegion(const std::string_view& regionName, const Nz::Color& color);
inline void BeginDebugRegion(const std::string_view& regionName, const Color& color);
inline void BindIndexBuffer(GLuint indexBuffer, UInt64 offset = 0);
inline void BindPipeline(const OpenGLRenderPipeline* pipeline);
@@ -57,8 +57,8 @@ namespace Nz
inline const OpenGLCommandPool& GetOwner() const;
inline void SetFramebuffer(const OpenGLFramebuffer& framebuffer, const OpenGLRenderPass& renderPass, const CommandBufferBuilder::ClearValues* clearValues, std::size_t clearValueCount);
inline void SetScissor(Nz::Recti scissorRegion);
inline void SetViewport(Nz::Recti viewportRegion);
inline void SetScissor(const Recti& scissorRegion);
inline void SetViewport(const Recti& viewportRegion);
OpenGLCommandBuffer& operator=(const OpenGLCommandBuffer&) = delete;
OpenGLCommandBuffer& operator=(OpenGLCommandBuffer&&) = delete;
@@ -72,7 +72,7 @@ namespace Nz
struct BeginDebugRegionData
{
std::string regionName;
Nz::Color color;
Color color;
};
struct CopyBufferData

View File

@@ -151,15 +151,15 @@ namespace Nz
m_commands.emplace_back(std::move(setFramebuffer));
m_currentStates.shouldFlipY = (framebuffer.GetType() == OpenGLFramebuffer::Type::Window);
m_currentStates.shouldFlipY = (framebuffer.GetType() == FramebufferType::Window);
}
inline void OpenGLCommandBuffer::SetScissor(Nz::Recti scissorRegion)
inline void OpenGLCommandBuffer::SetScissor(const Recti& scissorRegion)
{
m_currentStates.scissorRegion = scissorRegion;
}
inline void OpenGLCommandBuffer::SetViewport(Nz::Recti viewportRegion)
inline void OpenGLCommandBuffer::SetViewport(const Recti& viewportRegion)
{
m_currentStates.viewportRegion = viewportRegion;
}

View File

@@ -24,7 +24,7 @@ namespace Nz
~OpenGLCommandBufferBuilder() = default;
void BeginDebugRegion(const std::string_view& regionName, const Nz::Color& color) override;
void BeginRenderPass(const Framebuffer& framebuffer, const RenderPass& renderPass, Nz::Recti renderRect, const ClearValues* clearValues, std::size_t clearValueCount) override;
void BeginRenderPass(const Framebuffer& framebuffer, const RenderPass& renderPass, const Recti& renderRect, const ClearValues* clearValues, std::size_t clearValueCount) override;
void BindIndexBuffer(AbstractBuffer* indexBuffer, UInt64 offset = 0) override;
void BindPipeline(const RenderPipeline& pipeline) override;
@@ -46,8 +46,8 @@ namespace Nz
void PreTransferBarrier() override;
void PostTransferBarrier() override;
void SetScissor(Nz::Recti scissorRegion) override;
void SetViewport(Nz::Recti viewportRegion) override;
void SetScissor(const Recti& scissorRegion) override;
void SetViewport(const Recti& viewportRegion) override;
void TextureBarrier(PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, MemoryAccessFlags srcAccessMask, MemoryAccessFlags dstAccessMask, TextureLayout oldLayout, TextureLayout newLayout, const Texture& texture) override;

View File

@@ -34,7 +34,8 @@ namespace Nz
std::shared_ptr<CommandPool> CreateCommandPool(QueueType queueType) override;
inline GL::Context& GetContext();
const OpenGLFramebuffer& GetFramebuffer() const override;
const OpenGLFramebuffer& GetFramebuffer(std::size_t i) const override;
std::size_t GetFramebufferCount() const override;
const OpenGLRenderPass& GetRenderPass() const override;
void Present();