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

#include <MorphComponent.hpp>

Inheritance diagram for castor3d::MorphComponent::ComponentData:
Inheritance graph
[legend]
Collaboration diagram for castor3d::MorphComponent::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 addMorphTarget (SubmeshAnimationBuffer data)
 Adds a morph target.
 
MorphFlags getMorphFlags () const noexcept
 
GpuBufferOffsetT< castor::Point4f > const & getMorphTargets () const noexcept
 
castor::Vector< SubmeshAnimationBuffer > const & getMorphTargetsBuffers () const noexcept
 
castor::Vector< SubmeshAnimationBuffer > & getMorphTargetsBuffers () noexcept
 
uint32_t getMorphTargetsCount () const noexcept
 
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
 

Friends

class BinaryWriter< MorphComponent >
 
class BinaryParser< MorphComponent >
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::SubmeshComponentData
Submeshm_submesh
 

Member Function Documentation

◆ addMorphTarget()

C3D_API void castor3d::MorphComponent::ComponentData::addMorphTarget ( SubmeshAnimationBuffer data)

Adds a morph target.

Parameters
[in]dataThe morph target.

◆ copy()

void castor3d::MorphComponent::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.

◆ gather()

void castor3d::MorphComponent::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.

◆ getMorphFlags()

MorphFlags castor3d::MorphComponent::ComponentData::getMorphFlags ( ) const
inlinenoexcept
Returns
The morphing flags.

◆ getMorphTargets()

GpuBufferOffsetT< castor::Point4f > const & castor3d::MorphComponent::ComponentData::getMorphTargets ( ) const
inlinenoexcept
Returns
The morph targets buffer.

◆ getMorphTargetsBuffers() [1/2]

castor::Vector< SubmeshAnimationBuffer > const & castor3d::MorphComponent::ComponentData::getMorphTargetsBuffers ( ) const
inlinenoexcept
Returns
The morph targets data.

◆ getMorphTargetsBuffers() [2/2]

castor::Vector< SubmeshAnimationBuffer > & castor3d::MorphComponent::ComponentData::getMorphTargetsBuffers ( )
inlinenoexcept
Returns
The morph targets data.

◆ getMorphTargetsCount()

uint32_t castor3d::MorphComponent::ComponentData::getMorphTargetsCount ( ) const
inlinenoexcept
Returns
The number of morph targets.

◆ SubmeshComponentData()

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

Friends And Related Symbol Documentation

◆ BinaryParser< MorphComponent >

friend class BinaryParser< MorphComponent >
friend

◆ BinaryWriter< MorphComponent >

friend class BinaryWriter< MorphComponent >
friend

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