Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::SubmeshRenderData Struct Referenceabstract

#include <SubmeshComponent.hpp>

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

Public Member Functions

virtual C3D_API bool initialise (RenderDevice const &device)=0
 Initialises the render data.
 
virtual C3D_API crg::FramePassArray record (RenderDevice const &device, crg::ResourcesCache &resources, crg::FramePassGroup &graph, crg::FramePassArray previousPasses)
 Records the component's dependent passes.
 
virtual C3D_API void registerDependencies (crg::FramePass &pass) const
 Records the component's dependencies.
 
virtual C3D_API void cleanup (RenderDevice const &device)=0
 Cleans the render data.
 
virtual C3D_API void update (CpuUpdater &updater)=0
 Updates the component.
 
virtual C3D_API uint32_t getBindingCount () const noexcept=0
 
virtual C3D_API VkPrimitiveTopology getPrimitiveTopology () const noexcept=0
 
virtual C3D_API void fillBindings (PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const =0
 Fills the descriptor layout bindings.
 
virtual C3D_API void fillDescriptor (PipelineFlags const &flags, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const =0
 Initialises the additional descriptor set.
 
virtual C3D_API uint32_t getPatchVertices () const noexcept
 
- Public Member Functions inherited from castor3d::SubmeshSubComponent
 SubmeshSubComponent ()=default
 
 SubmeshSubComponent (SubmeshSubComponent const &)=delete
 
SubmeshSubComponentoperator= (SubmeshSubComponent const &)=delete
 
C3D_API SubmeshSubComponent (SubmeshSubComponent &&) noexcept=default
 
C3D_API SubmeshSubComponentoperator= (SubmeshSubComponent &&) noexcept=default
 
virtual C3D_API ~SubmeshSubComponent () noexcept=default
 

Member Function Documentation

◆ cleanup()

virtual C3D_API void castor3d::SubmeshRenderData::cleanup ( RenderDevice const & device)
pure virtual

Cleans the render data.

Parameters
[in]deviceThe render device.

◆ fillBindings()

virtual C3D_API void castor3d::SubmeshRenderData::fillBindings ( PipelineFlags const & flags,
ashes::VkDescriptorSetLayoutBindingArray & bindings,
uint32_t & index ) const
pure virtual

Fills the descriptor layout bindings.

Parameters
[in]flagsThe pipeline flags.
[in,out]bindingsReceives the additional bindings.
[in,out]indexThe bindings starting index.

◆ fillDescriptor()

virtual C3D_API void castor3d::SubmeshRenderData::fillDescriptor ( PipelineFlags const & flags,
ashes::WriteDescriptorSetArray & descriptorWrites,
uint32_t & index ) const
pure virtual

Initialises the additional descriptor set.

Parameters
[in]flagsThe pipeline flags.
[in,out]descriptorWritesReceives the descriptor writes.
[in,out]indexThe bindings starting index.

◆ getBindingCount()

virtual C3D_API uint32_t castor3d::SubmeshRenderData::getBindingCount ( ) const
pure virtualnoexcept
Returns
The number of bindings in this component.

◆ getPatchVertices()

virtual C3D_API uint32_t castor3d::SubmeshRenderData::getPatchVertices ( ) const
inlinevirtualnoexcept
Returns
The render shader's patch vertices.

◆ getPrimitiveTopology()

virtual C3D_API VkPrimitiveTopology castor3d::SubmeshRenderData::getPrimitiveTopology ( ) const
pure virtualnoexcept
Returns
The topology that the shader expects.

◆ initialise()

virtual C3D_API bool castor3d::SubmeshRenderData::initialise ( RenderDevice const & device)
pure virtual

Initialises the render data.

Parameters
[in]deviceThe render device.

◆ record()

virtual C3D_API crg::FramePassArray castor3d::SubmeshRenderData::record ( RenderDevice const & device,
crg::ResourcesCache & resources,
crg::FramePassGroup & graph,
crg::FramePassArray previousPasses )
inlinevirtual

Records the component's dependent passes.

Parameters
[in]deviceThe render device.
[in]resourcesThe graph resources.
[in]graphThe parent graph.
[in]previousPassesThe passes this one depends on.

◆ registerDependencies()

virtual C3D_API void castor3d::SubmeshRenderData::registerDependencies ( crg::FramePass & pass) const
inlinevirtual

Records the component's dependencies.

Parameters
[in]passThe frame pass for this component.

◆ update()

virtual C3D_API void castor3d::SubmeshRenderData::update ( CpuUpdater & updater)
pure virtual

Updates the component.

Parameters
[in,out]updaterThe update data.

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