Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::RenderQueue Class Reference

#include <RenderQueue.hpp>

Inheritance diagram for castor3d::RenderQueue:
Inheritance graph
[legend]
Collaboration diagram for castor3d::RenderQueue:
Collaboration graph
[legend]

Public Member Functions

C3D_API RenderQueue (RenderNodesPass &renderPass, RenderDevice const &device, SceneCuller &culler, castor::String const &typeName, bool meshShading, SceneNode const *ignored)
 Constructor.
 
C3D_API void invalidate ()
 Tells the queue its GPU data is not valid anymore.
 
C3D_API void cleanup () noexcept
 Cleans the queue up.
 
C3D_API void update (ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer)
 Updates the render nodes.
 
C3D_API void update (ShadowMapLightTypeArray &shadowMaps, ShadowBuffer const *shadowBuffer, VkViewport const &viewport, VkRect2D const &scissor)
 Updates the render nodes.
 
C3D_API void update (ShadowMapLightTypeArray &shadowMaps, ShadowBuffer const *shadowBuffer, VkRect2D const &scissor)
 Updates the render nodes.
 
C3D_API void setIgnoredNode (SceneNode const &node)
 Sets the node to be ignored in rendering. remarks All objects attached to this node will be ignored.
 
C3D_API void fillConfig (crg::ru::Config &config) const
 Fills the given configuration.
 
C3D_API bool hasNodes () const noexcept
 
C3D_API bool needsInitialise () const
 
C3D_API RenderFilters getFilters () const
 
C3D_API ashes::CommandBuffer const & initCommandBuffer ()
 
C3D_API RenderCounts const & getVisibleCounts () const
 
bool isOutOfDate () const noexcept
 
bool hasCommandBuffer () const noexcept
 
ashes::CommandBuffer const & getCommandBuffer () const noexcept
 
QueueRenderNodesgetRenderNodes () const noexcept
 
SceneCullergetCuller () const noexcept
 
SceneNode const * getIgnoredNode () const noexcept
 
uint32_t getDrawCallsCount () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< RenderNodesPass >
RenderNodesPass * getOwner () const
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< RenderNodesPass >
 OwnedBy (RenderNodesPass &owner)
 Constructor.
 

Constructor & Destructor Documentation

◆ RenderQueue()

C3D_API castor3d::RenderQueue::RenderQueue ( RenderNodesPass & renderPass,
RenderDevice const & device,
SceneCuller & culler,
castor::String const & typeName,
bool meshShading,
SceneNode const * ignored )

Constructor.

Parameters
[in]renderPassThe parent render pass.
[in]deviceThe GPU device.
[in]cullerThe scene culler used by this queue.
[in]typeNameThe parent pass type name.
[in]meshShadingTells if the parent pass uses mesh shaders.
[in]ignoredThe geometries attached to this node will be ignored in the render.

Member Function Documentation

◆ cleanup()

C3D_API void castor3d::RenderQueue::cleanup ( )
noexcept

Cleans the queue up.

◆ fillConfig()

C3D_API void castor3d::RenderQueue::fillConfig ( crg::ru::Config & config) const

Fills the given configuration.

◆ getCommandBuffer()

ashes::CommandBuffer const & castor3d::RenderQueue::getCommandBuffer ( ) const
inlinenoexcept

References CU_Require, and hasCommandBuffer().

Here is the call graph for this function:

◆ getCuller()

SceneCuller & castor3d::RenderQueue::getCuller ( ) const
inlinenoexcept

◆ getDrawCallsCount()

uint32_t castor3d::RenderQueue::getDrawCallsCount ( ) const
inlinenoexcept

◆ getFilters()

C3D_API RenderFilters castor3d::RenderQueue::getFilters ( ) const

◆ getIgnoredNode()

SceneNode const * castor3d::RenderQueue::getIgnoredNode ( ) const
inlinenoexcept

◆ getRenderNodes()

QueueRenderNodes & castor3d::RenderQueue::getRenderNodes ( ) const
inlinenoexcept

References CU_Require.

◆ getVisibleCounts()

C3D_API RenderCounts const & castor3d::RenderQueue::getVisibleCounts ( ) const

◆ hasCommandBuffer()

bool castor3d::RenderQueue::hasCommandBuffer ( ) const
inlinenoexcept

Referenced by getCommandBuffer().

Here is the caller graph for this function:

◆ hasNodes()

C3D_API bool castor3d::RenderQueue::hasNodes ( ) const
noexcept

name Getters.

◆ initCommandBuffer()

C3D_API ashes::CommandBuffer const & castor3d::RenderQueue::initCommandBuffer ( )

◆ invalidate()

C3D_API void castor3d::RenderQueue::invalidate ( )

Tells the queue its GPU data is not valid anymore.

◆ isOutOfDate()

bool castor3d::RenderQueue::isOutOfDate ( ) const
inlinenoexcept

◆ needsInitialise()

C3D_API bool castor3d::RenderQueue::needsInitialise ( ) const

◆ setIgnoredNode()

C3D_API void castor3d::RenderQueue::setIgnoredNode ( SceneNode const & node)

Sets the node to be ignored in rendering. remarks All objects attached to this node will be ignored.

◆ update() [1/3]

C3D_API void castor3d::RenderQueue::update ( ShadowMapLightTypeArray & shadowMaps,
ShadowBuffer const * shadowBuffer,
VkRect2D const & scissor )

Updates the render nodes.

Parameters
[in,out]shadowMapsReceives the shadow maps used in the render pass.
[in]shadowBufferThe buffer holding the shadow configuration data.
[in]scissorThe scissors restraining the render pass.

◆ update() [2/3]

C3D_API void castor3d::RenderQueue::update ( ShadowMapLightTypeArray & shadowMaps,
ShadowBuffer const * shadowBuffer,
VkViewport const & viewport,
VkRect2D const & scissor )

Updates the render nodes.

Parameters
[in,out]shadowMapsReceives the shadow maps used in the render pass.
[in]shadowBufferThe buffer holding the shadow configuration data.
[in]viewportThe viewport restraining the render pass.
[in]scissorThe scissors restraining the render pass.

◆ update() [3/3]

C3D_API void castor3d::RenderQueue::update ( ShadowMapLightTypeArray const & shadowMaps,
ShadowBuffer const * shadowBuffer )

Updates the render nodes.

Parameters
[in,out]shadowMapsReceives the shadow maps used in the render pass.
[in]shadowBufferThe buffer holding the shadow configuration data.

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