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

#include <MeshletComponent.hpp>

Inheritance diagram for castor3d::MeshletComponent::ComponentData:
Inheritance graph
[legend]
Collaboration diagram for castor3d::MeshletComponent::ComponentData:
Collaboration graph
[legend]

Public Member Functions

void gather (PipelineFlags const &flags, Pass const &pass, ObjectBufferOffset const &bufferOffsets, ashes::BufferCRefArray &buffers, castor::Vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t &currentBinding, uint32_t &currentLocation) override
 Gathers buffers that need to go in a vertex layout.
 
void copy (SubmeshComponentDataRPtr data) const override
 Copies given component's data into this one.
 
C3D_API void createDescriptorSet (Geometry const &geometry, Pass const &pass)
 
C3D_API ashes::DescriptorSet const & getDescriptorSet (Geometry const &geometry, Pass const &pass) const
 
C3D_API void instantiate (Geometry const &geometry, Pass const &pass)
 
C3D_API GpuBufferOffsetT< MeshletCullData > const & getFinalCullBuffer (Geometry const &geometry, Pass const &pass) const
 
ashes::DescriptorSetLayout const & getDescriptorLayout () const
 
castor::Vector< Meshlet > const & getMeshletsData () const
 
castor::Vector< Meshlet > & getMeshletsData ()
 
castor::Vector< MeshletCullData > & getCullData ()
 
bool hasCullData () const noexcept
 
uint32_t getMeshletsCount () const
 
GpuBufferOffsetT< MeshletCullData > const & getSourceCullBuffer () const
 
C3D_API SubmeshComponentData (Submesh &submesh)
 
- Public Member Functions inherited from castor3d::SubmeshComponentData
C3D_API SubmeshComponentData (Submesh &submesh)
 
C3D_API bool initialise (RenderDevice const &device)
 Initialises the submesh.
 
C3D_API void cleanup (RenderDevice const &device)
 Cleans the submesh.
 
C3D_API void upload (UploadData &uploader)
 Uploads data on VRAM.
 
virtual C3D_API VkBufferUsageFlags getUsageFlags () const noexcept
 
void needsUpdate ()
 
- 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
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::SubmeshComponentData
Submeshm_submesh
 

Member Function Documentation

◆ copy()

void castor3d::MeshletComponent::ComponentData::copy ( SubmeshComponentDataRPtr data) const
overridevirtual

Copies given component's data into this one.

Parameters
[in,out]dataThe source component's data.

Implements castor3d::SubmeshComponentData.

◆ createDescriptorSet()

C3D_API void castor3d::MeshletComponent::ComponentData::createDescriptorSet ( Geometry const & geometry,
Pass const & pass )

◆ gather()

void castor3d::MeshletComponent::ComponentData::gather ( PipelineFlags const & flags,
Pass const & pass,
ObjectBufferOffset const & bufferOffsets,
ashes::BufferCRefArray & buffers,
castor::Vector< uint64_t > & offsets,
ashes::PipelineVertexInputStateCreateInfoCRefArray & layouts,
uint32_t & currentBinding,
uint32_t & currentLocation )
inlineoverridevirtual

Gathers buffers that need to go in a vertex layout.

Parameters
[in]flagsThe pipeline flags.
[in]passThe material pass.
[in]bufferOffsetsHolds the buffers.
[in,out]buffersReceives the buffers.
[in,out]offsetsReceives the buffers offsets.
[in,out]layoutsReceives the vertex layouts.
[in,out]currentBindingThe current buffer binding.
[in,out]currentLocationThe current attribute location.

Implements castor3d::SubmeshComponentData.

◆ getCullData()

castor::Vector< MeshletCullData > & castor3d::MeshletComponent::ComponentData::getCullData ( )
inline

References castor3d::SubmeshComponentData::needsUpdate().

Here is the call graph for this function:

◆ getDescriptorLayout()

ashes::DescriptorSetLayout const & castor3d::MeshletComponent::ComponentData::getDescriptorLayout ( ) const
inline

◆ getDescriptorSet()

C3D_API ashes::DescriptorSet const & castor3d::MeshletComponent::ComponentData::getDescriptorSet ( Geometry const & geometry,
Pass const & pass ) const

◆ getFinalCullBuffer()

C3D_API GpuBufferOffsetT< MeshletCullData > const & castor3d::MeshletComponent::ComponentData::getFinalCullBuffer ( Geometry const & geometry,
Pass const & pass ) const

◆ getMeshletsCount()

uint32_t castor3d::MeshletComponent::ComponentData::getMeshletsCount ( ) const
inline

◆ getMeshletsData() [1/2]

castor::Vector< Meshlet > & castor3d::MeshletComponent::ComponentData::getMeshletsData ( )
inline

References castor3d::SubmeshComponentData::needsUpdate().

Here is the call graph for this function:

◆ getMeshletsData() [2/2]

castor::Vector< Meshlet > const & castor3d::MeshletComponent::ComponentData::getMeshletsData ( ) const
inline

◆ getSourceCullBuffer()

GpuBufferOffsetT< MeshletCullData > const & castor3d::MeshletComponent::ComponentData::getSourceCullBuffer ( ) const
inline

◆ hasCullData()

bool castor3d::MeshletComponent::ComponentData::hasCullData ( ) const
inlinenoexcept

◆ instantiate()

C3D_API void castor3d::MeshletComponent::ComponentData::instantiate ( Geometry const & geometry,
Pass const & pass )

◆ SubmeshComponentData()

C3D_API castor3d::SubmeshComponentData::SubmeshComponentData ( Submesh & submesh)

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