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

#include <SceneRenderNodes.hpp>

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

Classes

struct  NodeData
 

Public Types

template<typename NodeT >
using NodesPtrMapT = castor::UnorderedMap< size_t, castor::UniquePtr< NodeT > >
 
using NodeDataArray = castor::Vector< NodeData >
 

Public Member Functions

C3D_API SceneRenderNodes (Scene &scene)
 
C3D_API ~SceneRenderNodes () noexcept
 
C3D_API void registerCuller (SceneCuller &culler)
 
C3D_API void unregisterCuller (SceneCuller &culler) noexcept
 
C3D_API void clear () noexcept
 
C3D_API SubmeshRenderNodecreateNode (Pass &pass, Submesh &data, Geometry &instance, AnimatedMesh *mesh, AnimatedSkeleton *skeleton)
 
C3D_API BillboardRenderNodecreateNode (Pass &pass, BillboardBase &instance)
 
C3D_API SubmeshRenderNode const * getSubmeshNode (uint32_t nodeId)
 
C3D_API BillboardRenderNode const * getBillboardNode (uint32_t nodeId)
 
C3D_API void reportPassChange (Pass const &pass, PassComponentCombineID oldComponents, PassComponentCombineID newComponents)
 
C3D_API void reportPassChange (Submesh &data, Geometry &instance, Material const &oldMaterial, Material const &newMaterial)
 
C3D_API void reportPassChange (BillboardBase &billboard, Material const &oldMaterial, Material const &newMaterial)
 
C3D_API void update (CpuUpdater &updater)
 
C3D_API void update (GpuUpdater &updater)
 
C3D_API bool hasNodes (LightingModelID lightingModelId) const
 
C3D_API crg::FramePass const & createVertexTransformPass (crg::FramePassGroup &graph)
 
bool hasNodes () const noexcept
 
ashes::Buffer< ModelBufferConfiguration > const & getModelBuffer () const noexcept
 
ashes::Buffer< BillboardUboConfiguration > const & getBillboardsBuffer () const noexcept
 
NodesPtrMapT< SubmeshRenderNode > const & getSubmeshNodes () const noexcept
 
NodesPtrMapT< BillboardRenderNode > const & getBillboardNodes () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< Scene >
Scene * getOwner () const
 

Additional Inherited Members

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

Member Typedef Documentation

◆ NodeDataArray

◆ NodesPtrMapT

template<typename NodeT >
using castor3d::SceneRenderNodes::NodesPtrMapT = castor::UnorderedMap< size_t, castor::UniquePtr< NodeT > >

Constructor & Destructor Documentation

◆ SceneRenderNodes()

C3D_API castor3d::SceneRenderNodes::SceneRenderNodes ( Scene & scene)
explicit

◆ ~SceneRenderNodes()

C3D_API castor3d::SceneRenderNodes::~SceneRenderNodes ( )
noexcept

Member Function Documentation

◆ clear()

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

◆ createNode() [1/2]

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

◆ createNode() [2/2]

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

◆ createVertexTransformPass()

C3D_API crg::FramePass const & castor3d::SceneRenderNodes::createVertexTransformPass ( crg::FramePassGroup & graph)

◆ getBillboardNode()

C3D_API BillboardRenderNode const * castor3d::SceneRenderNodes::getBillboardNode ( uint32_t nodeId)

◆ getBillboardNodes()

NodesPtrMapT< BillboardRenderNode > const & castor3d::SceneRenderNodes::getBillboardNodes ( ) const
inlinenoexcept

◆ getBillboardsBuffer()

ashes::Buffer< BillboardUboConfiguration > const & castor3d::SceneRenderNodes::getBillboardsBuffer ( ) const
inlinenoexcept

◆ getModelBuffer()

ashes::Buffer< ModelBufferConfiguration > const & castor3d::SceneRenderNodes::getModelBuffer ( ) const
inlinenoexcept

◆ getSubmeshNode()

C3D_API SubmeshRenderNode const * castor3d::SceneRenderNodes::getSubmeshNode ( uint32_t nodeId)

◆ getSubmeshNodes()

NodesPtrMapT< SubmeshRenderNode > const & castor3d::SceneRenderNodes::getSubmeshNodes ( ) const
inlinenoexcept

◆ hasNodes() [1/2]

bool castor3d::SceneRenderNodes::hasNodes ( ) const
inlinenoexcept

◆ hasNodes() [2/2]

C3D_API bool castor3d::SceneRenderNodes::hasNodes ( LightingModelID lightingModelId) const

◆ registerCuller()

C3D_API void castor3d::SceneRenderNodes::registerCuller ( SceneCuller & culler)

◆ reportPassChange() [1/3]

C3D_API void castor3d::SceneRenderNodes::reportPassChange ( BillboardBase & billboard,
Material const & oldMaterial,
Material const & newMaterial )

◆ reportPassChange() [2/3]

C3D_API void castor3d::SceneRenderNodes::reportPassChange ( Pass const & pass,
PassComponentCombineID oldComponents,
PassComponentCombineID newComponents )

◆ reportPassChange() [3/3]

C3D_API void castor3d::SceneRenderNodes::reportPassChange ( Submesh & data,
Geometry & instance,
Material const & oldMaterial,
Material const & newMaterial )

◆ unregisterCuller()

C3D_API void castor3d::SceneRenderNodes::unregisterCuller ( SceneCuller & culler)
noexcept

◆ update() [1/2]

C3D_API void castor3d::SceneRenderNodes::update ( CpuUpdater & updater)

◆ update() [2/2]

C3D_API void castor3d::SceneRenderNodes::update ( GpuUpdater & updater)

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