Class Renderer

Inheritance Relationships

Derived Types

Class Documentation

class Renderer

Subclassed by Azura::D3D12::D3D12Renderer, Azura::Vulkan::VkRenderer

Public Functions

Renderer(ApplicationInfo appInfo, const DeviceRequirements &deviceRequirements, ApplicationRequirements appRequirements, const SwapChainRequirements &swapChainRequirements, const DescriptorRequirements &descriptorRequirements, Memory::Allocator &mainAllocator, Memory::Allocator &drawAllocator, Window &window)
virtual ~Renderer()
Renderer(const Renderer &other)
Renderer(Renderer &&other)
Renderer &operator=(const Renderer &rhs)
Renderer &operator=(Renderer &&rhs)
virtual String GetRenderingAPI() const = 0
virtual DrawablePool &CreateDrawablePool(const DrawablePoolCreateInfo &createInfo) = 0
virtual ComputePool &CreateComputePool(const ComputePoolCreateInfo &createInfo) = 0
virtual void Submit() = 0
virtual void RenderFrame() = 0
void EnterRenderFrame()
void ExitRenderFrame()
virtual void SnapshotFrame(const String &exportPath) const = 0
virtual void BindRenderTarget(U32 renderTargetId, const TextureDesc &desc, const U8 *buffer) = 0
virtual void BindBufferTarget(U32 bufferTargetId, const U8 *buffer) = 0

Protected Functions

const ApplicationInfo &GetApplicationInfo() const
const DeviceRequirements &GetDeviceRequirements() const
const ApplicationRequirements &GetApplicationRequirements() const
const SwapChainRequirements &GetSwapchainRequirements() const
U32 GetCurrentFrame() const
void SetCurrentFrame(U32 frameIdx)

Protected Attributes

Containers::Vector<DescriptorSlot> m_descriptorSlots
Containers::Vector<DescriptorTableEntry> m_descriptorSetTable
DescriptorCount m_descriptorCount
std::reference_wrapper<Memory::Allocator> m_mainAllocator
std::reference_wrapper<Memory::Allocator> m_drawPoolAllocator
std::reference_wrapper<Window> m_window