Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | List of all members
castor3d::QueueRenderNodes Struct Reference

#include <QueueRenderNodes.hpp>

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

Public Types

using PipelineMap = castor::UnorderedMap< size_t, PipelineAndID >
 

Public Member Functions

C3D_API QueueRenderNodes (RenderQueue const &queue, RenderDevice const &device, castor::String const &typeName, bool meshShading)
 
C3D_API ~QueueRenderNodes () noexcept
 
C3D_API void fillConfig (crg::ru::Config &config) const
 
C3D_API void clear () noexcept
 
C3D_API void checkEmpty ()
 
C3D_API bool sortNodes (ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer)
 
C3D_API bool updateNodes (ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer)
 
C3D_API uint32_t prepareCommandBuffers (ashes::Optional< VkViewport > const &viewport, ashes::Optional< VkRect2D > const &scissors, ashes::CommandBuffer const &commandBuffer)
 
C3D_API SubmeshRenderNodecreateNode (Pass &pass, Submesh &data, Geometry &instance, AnimatedMesh *mesh, AnimatedSkeleton *skeleton)
 
C3D_API BillboardRenderNodecreateNode (Pass &pass, BillboardBase &instance)
 
C3D_API uint32_t getMaxPipelineId () const
 
C3D_API void registerPipelineId (uint32_t pipelineId)
 
C3D_API PipelineBufferArray const & getPassPipelineNodes () const
 
C3D_API uint32_t getPipelineNodesIndex (PipelineBaseHash const &hash, ashes::BufferBase const &buffer) const
 
C3D_API uint32_t getPipelineNodesIndex (Submesh const &submesh, Pass const &pass, ashes::BufferBase const &buffer, bool isFrontCulled) const
 
C3D_API uint32_t getPipelineNodesIndex (BillboardBase const &billboard, Pass const &pass, ashes::BufferBase const &buffer, bool isFrontCulled) const
 
auto & getNodesIds () const noexcept
 
auto & getSubmeshNodes () const noexcept
 
auto & getInstancedSubmeshNodes () const noexcept
 
auto & getBillboardNodes () const noexcept
 
bool hasCulledNodes () const noexcept
 
RenderCounts const & getVisibleCounts () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< RenderQueue const >
RenderQueue const * getOwner () const
 

Additional Inherited Members

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

Member Typedef Documentation

◆ PipelineMap

Constructor & Destructor Documentation

◆ QueueRenderNodes()

C3D_API castor3d::QueueRenderNodes::QueueRenderNodes ( RenderQueue const & queue,
RenderDevice const & device,
castor::String const & typeName,
bool meshShading )
explicit

◆ ~QueueRenderNodes()

C3D_API castor3d::QueueRenderNodes::~QueueRenderNodes ( )
noexcept

Member Function Documentation

◆ checkEmpty()

C3D_API void castor3d::QueueRenderNodes::checkEmpty ( )

◆ clear()

C3D_API void castor3d::QueueRenderNodes::clear ( )
noexcept

◆ createNode() [1/2]

C3D_API BillboardRenderNode & castor3d::QueueRenderNodes::createNode ( Pass & pass,
BillboardBase & instance )

◆ createNode() [2/2]

C3D_API SubmeshRenderNode & castor3d::QueueRenderNodes::createNode ( Pass & pass,
Submesh & data,
Geometry & instance,
AnimatedMesh * mesh,
AnimatedSkeleton * skeleton )

◆ fillConfig()

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

◆ getBillboardNodes()

auto & castor3d::QueueRenderNodes::getBillboardNodes ( ) const
inlinenoexcept

◆ getInstancedSubmeshNodes()

auto & castor3d::QueueRenderNodes::getInstancedSubmeshNodes ( ) const
inlinenoexcept

◆ getMaxPipelineId()

C3D_API uint32_t castor3d::QueueRenderNodes::getMaxPipelineId ( ) const

◆ getNodesIds()

auto & castor3d::QueueRenderNodes::getNodesIds ( ) const
inlinenoexcept

◆ getPassPipelineNodes()

C3D_API PipelineBufferArray const & castor3d::QueueRenderNodes::getPassPipelineNodes ( ) const

◆ getPipelineNodesIndex() [1/3]

C3D_API uint32_t castor3d::QueueRenderNodes::getPipelineNodesIndex ( BillboardBase const & billboard,
Pass const & pass,
ashes::BufferBase const & buffer,
bool isFrontCulled ) const

◆ getPipelineNodesIndex() [2/3]

C3D_API uint32_t castor3d::QueueRenderNodes::getPipelineNodesIndex ( PipelineBaseHash const & hash,
ashes::BufferBase const & buffer ) const

◆ getPipelineNodesIndex() [3/3]

C3D_API uint32_t castor3d::QueueRenderNodes::getPipelineNodesIndex ( Submesh const & submesh,
Pass const & pass,
ashes::BufferBase const & buffer,
bool isFrontCulled ) const

◆ getSubmeshNodes()

auto & castor3d::QueueRenderNodes::getSubmeshNodes ( ) const
inlinenoexcept

◆ getVisibleCounts()

RenderCounts const & castor3d::QueueRenderNodes::getVisibleCounts ( ) const
inlinenoexcept

◆ hasCulledNodes()

bool castor3d::QueueRenderNodes::hasCulledNodes ( ) const
inlinenoexcept

◆ prepareCommandBuffers()

C3D_API uint32_t castor3d::QueueRenderNodes::prepareCommandBuffers ( ashes::Optional< VkViewport > const & viewport,
ashes::Optional< VkRect2D > const & scissors,
ashes::CommandBuffer const & commandBuffer )

◆ registerPipelineId()

C3D_API void castor3d::QueueRenderNodes::registerPipelineId ( uint32_t pipelineId)

◆ sortNodes()

C3D_API bool castor3d::QueueRenderNodes::sortNodes ( ShadowMapLightTypeArray const & shadowMaps,
ShadowBuffer const * shadowBuffer )

◆ updateNodes()

C3D_API bool castor3d::QueueRenderNodes::updateNodes ( ShadowMapLightTypeArray const & shadowMaps,
ShadowBuffer const * shadowBuffer )

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