Graphics: Add SpriteChainRenderer

This commit is contained in:
Jérôme Leclercq
2021-09-05 15:50:17 +02:00
parent a18d505ae2
commit 938d965e06
18 changed files with 705 additions and 14 deletions

View File

@@ -18,6 +18,8 @@ namespace Nz
{
class CommandBufferBuilder;
class RenderElement;
class RenderFrame;
struct ElementRendererData;
class NAZARA_GRAPHICS_API ElementRenderer
{
@@ -25,7 +27,16 @@ namespace Nz
ElementRenderer() = default;
virtual ~ElementRenderer();
virtual void Render(CommandBufferBuilder& commandBuffer, const Pointer<const RenderElement>* elements, std::size_t elementCount) = 0;
virtual std::unique_ptr<ElementRendererData> InstanciateData() = 0;
virtual void Prepare(ElementRendererData& rendererData, RenderFrame& currentFrame, const Pointer<const RenderElement>* elements, std::size_t elementCount);
virtual void Render(ElementRendererData& rendererData, CommandBufferBuilder& commandBuffer, const Pointer<const RenderElement>* elements, std::size_t elementCount) = 0;
virtual void Reset(ElementRendererData& rendererData, RenderFrame& currentFrame);
};
struct NAZARA_GRAPHICS_API ElementRendererData
{
ElementRendererData() = default;
virtual ~ElementRendererData();
};
}