Rasterfarm-SDK
Loading...
Searching...
No Matches
Engine::RenderBuffer Class Reference

#include <renderbuffer.h>

Public Member Functions

 RenderBuffer (VkRenderPass renderPass, uint renderBufferBitMask, uint togglePipelineStateBits=0)
 
 RenderBuffer (FrameBuffer *pFrameBuffer, bool display, uint togglePipelineStateBits=0)
 
virtual ~RenderBuffer ()
 
PrimaryCommandBuffergetPrimaryCommandBuffer (FrameBufferHandle frameBufferHandle)
 
const VkRect2D & getRenderArea ()
 
const HeapArray< VkClearValue > & getClearValue ()
 
void createPipelineResources (Program *pProgram, FrameBufferHandle frameBufferHandle)
 
void destroyPipelineResources (Program *pProgram, FrameBufferHandle frameBufferHandle)
 
uint getMask ()
 
uint getTogglePipelineStateBits ()
 
void setTogglePipelineStateBits (uint togglePipelineStateBits)
 
VkCommandPool getCommandPool ()
 
VkRenderPass getHandle ()
 
FrameBuffergetFrameBuffer ()
 
CommandBuffergetRenderingCommandBuffer ()
 
void setClearBufferValues (uint mask)
 
uint getClearBufferValues ()
 
bool hasPrimaryCommandBuffer (FrameBufferHandle handle)
 
void addPrimaryCommandBuffer (FrameBufferHandle handle)
 
void removePrimaryCommandBuffer (FrameBufferHandle handle)
 
void replacePrimaryCommandBuffer (FrameBufferHandle oldHandle, FrameBufferHandle newHandle)
 
void bindFrameBuffer (FrameBufferHandle handle)
 
void end (FrameBufferHandle handle)
 
HeapArray< CommandBuffer * > endRecordingBuffers ()
 

Protected Attributes

UnorderedMap< FrameBufferHandle, PrimaryCommandBuffer * > pPrimaryCommandBuffer
 
HeapArray< VkClearValue > clearValue
 
VkRect2D renderArea
 
uint renderBufferBitMask
 
uint clearBufferBitMask
 
uint togglePipelineStateBits
 
VkCommandPool commandPool
 
VkRenderPass renderPass
 
FrameBufferpFrameBuffer
 
CommandBufferpRenderingCommandBuffer
 
List< PrimaryCommandBuffer * > pQueuedPrimaryCommandBuffer
 

Friends

class Implementation
 
class FrameBuffer
 

Detailed Description

Manages the interface between a single render-pass and multiple frame-buffers bound at run-time. Command bound for a given frame-buffer are batch via secondary command-buffers and exected as-such.

Constructor & Destructor Documentation

◆ RenderBuffer() [1/2]

Engine::RenderBuffer::RenderBuffer ( VkRenderPass renderPass,
uint renderBufferBitMask,
uint togglePipelineStateBits = 0 )
Parameters
Handlefor the given render-pass.
Optionalframe-buffer handle, this will
Thestates within GraphicsPipeline that will can will by toggled dynamically.

◆ RenderBuffer() [2/2]

Engine::RenderBuffer::RenderBuffer ( FrameBuffer * pFrameBuffer,
bool display,
uint togglePipelineStateBits = 0 )
Parameters
Handlefor the given render-pass.
Thestates within GraphicsPipeline that will can will by toggled dynamically.

◆ ~RenderBuffer()

virtual Engine::RenderBuffer::~RenderBuffer ( )
virtual

Member Function Documentation

◆ addPrimaryCommandBuffer()

void Engine::RenderBuffer::addPrimaryCommandBuffer ( FrameBufferHandle handle)

◆ bindFrameBuffer()

void Engine::RenderBuffer::bindFrameBuffer ( FrameBufferHandle handle)

◆ createPipelineResources()

void Engine::RenderBuffer::createPipelineResources ( Program * pProgram,
FrameBufferHandle frameBufferHandle )

◆ destroyPipelineResources()

void Engine::RenderBuffer::destroyPipelineResources ( Program * pProgram,
FrameBufferHandle frameBufferHandle )

◆ end()

void Engine::RenderBuffer::end ( FrameBufferHandle handle)

◆ endRecordingBuffers()

HeapArray< CommandBuffer * > Engine::RenderBuffer::endRecordingBuffers ( )

◆ getClearBufferValues()

uint Engine::RenderBuffer::getClearBufferValues ( )

◆ getClearValue()

const HeapArray< VkClearValue > & Engine::RenderBuffer::getClearValue ( )
inline

◆ getCommandPool()

VkCommandPool Engine::RenderBuffer::getCommandPool ( )
inline

◆ getFrameBuffer()

FrameBuffer * Engine::RenderBuffer::getFrameBuffer ( )
inline

◆ getHandle()

VkRenderPass Engine::RenderBuffer::getHandle ( )
inline

◆ getMask()

uint Engine::RenderBuffer::getMask ( )
inline

◆ getPrimaryCommandBuffer()

PrimaryCommandBuffer * Engine::RenderBuffer::getPrimaryCommandBuffer ( FrameBufferHandle frameBufferHandle)

◆ getRenderArea()

const VkRect2D & Engine::RenderBuffer::getRenderArea ( )
inline

◆ getRenderingCommandBuffer()

CommandBuffer * Engine::RenderBuffer::getRenderingCommandBuffer ( )
inline

◆ getTogglePipelineStateBits()

uint Engine::RenderBuffer::getTogglePipelineStateBits ( )
inline

◆ hasPrimaryCommandBuffer()

bool Engine::RenderBuffer::hasPrimaryCommandBuffer ( FrameBufferHandle handle)

◆ removePrimaryCommandBuffer()

void Engine::RenderBuffer::removePrimaryCommandBuffer ( FrameBufferHandle handle)

◆ replacePrimaryCommandBuffer()

void Engine::RenderBuffer::replacePrimaryCommandBuffer ( FrameBufferHandle oldHandle,
FrameBufferHandle newHandle )

◆ setClearBufferValues()

void Engine::RenderBuffer::setClearBufferValues ( uint mask)

◆ setTogglePipelineStateBits()

void Engine::RenderBuffer::setTogglePipelineStateBits ( uint togglePipelineStateBits)
inline

Friends And Related Symbol Documentation

◆ FrameBuffer

friend class FrameBuffer
friend

◆ Implementation

friend class Implementation
friend

Member Data Documentation

◆ clearBufferBitMask

uint Engine::RenderBuffer::clearBufferBitMask
protected

◆ clearValue

HeapArray< VkClearValue > Engine::RenderBuffer::clearValue
protected

◆ commandPool

VkCommandPool Engine::RenderBuffer::commandPool
protected

◆ pFrameBuffer

FrameBuffer* Engine::RenderBuffer::pFrameBuffer
protected

◆ pPrimaryCommandBuffer

UnorderedMap< FrameBufferHandle, PrimaryCommandBuffer * > Engine::RenderBuffer::pPrimaryCommandBuffer
protected

◆ pQueuedPrimaryCommandBuffer

List< PrimaryCommandBuffer * > Engine::RenderBuffer::pQueuedPrimaryCommandBuffer
protected

◆ pRenderingCommandBuffer

CommandBuffer* Engine::RenderBuffer::pRenderingCommandBuffer
protected

◆ renderArea

VkRect2D Engine::RenderBuffer::renderArea
protected

◆ renderBufferBitMask

uint Engine::RenderBuffer::renderBufferBitMask
protected

◆ renderPass

VkRenderPass Engine::RenderBuffer::renderPass
protected

◆ togglePipelineStateBits

uint Engine::RenderBuffer::togglePipelineStateBits
protected

The documentation for this class was generated from the following file: