Castor3D 0.12.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
castor3d::SssProfileBuffer Class Reference

#include <SssProfileBuffer.hpp>

Classes

struct  Data
 
struct  SssProfileData
 
struct  SssProfileDataPtr
 

Public Types

using SssProfilesData = castor::ArrayView< SssProfileData >
 

Public Member Functions

C3D_API SssProfileBuffer (Engine &engine, RenderDevice const &device, uint32_t count)
 Constructor. More...
 
C3D_API uint32_t addPass (Pass &pass)
 Adds a pass to the buffer. More...
 
C3D_API void removePass (Pass &pass)
 Removes a pass from the buffer. More...
 
C3D_API void update (ashes::CommandBuffer const &commandBuffer)
 Updates the passes buffer. More...
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t binding) const
 Creates the descriptor set layout binding. More...
 
C3D_API void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 Creates a frame pass binding. More...
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Creates the descriptor write for this buffer. More...
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Creates the descriptor set binding at given point. More...
 
C3D_API SssProfileDataPtr getData (uint32_t profileID)
 
uint8_t * getPtr ()
 
VkDescriptorType getType () const
 

Static Public Attributes

static constexpr uint32_t DataSize = sizeof( SssProfileData )
 

Member Typedef Documentation

◆ SssProfilesData

Constructor & Destructor Documentation

◆ SssProfileBuffer()

C3D_API castor3d::SssProfileBuffer::SssProfileBuffer ( Engine engine,
RenderDevice const &  device,
uint32_t  count 
)

Constructor.

Parameters
[in]engineThe engine.
[in]deviceThe GPU device.
[in]countThe max configurations count.

Member Function Documentation

◆ addPass()

C3D_API uint32_t castor3d::SssProfileBuffer::addPass ( Pass pass)

Adds a pass to the buffer.

Parameters
[in]passThe pass.

◆ createBinding()

C3D_API void castor3d::SssProfileBuffer::createBinding ( ashes::DescriptorSet &  descriptorSet,
VkDescriptorSetLayoutBinding const &  binding 
) const

Creates the descriptor set binding at given point.

Parameters
[in]descriptorSetThe descriptor set that receives the binding.
[in]bindingThe descriptor set layout binding.

◆ createLayoutBinding()

C3D_API VkDescriptorSetLayoutBinding castor3d::SssProfileBuffer::createLayoutBinding ( uint32_t  binding) const

Creates the descriptor set layout binding.

◆ createPassBinding()

C3D_API void castor3d::SssProfileBuffer::createPassBinding ( crg::FramePass &  pass,
uint32_t  binding 
) const

Creates a frame pass binding.

◆ getBinding()

C3D_API ashes::WriteDescriptorSet castor3d::SssProfileBuffer::getBinding ( uint32_t  binding) const

Creates the descriptor write for this buffer.

◆ getData()

C3D_API SssProfileDataPtr castor3d::SssProfileBuffer::getData ( uint32_t  profileID)
Returns
The pointer to the data for given profile ID.

◆ getPtr()

uint8_t * castor3d::SssProfileBuffer::getPtr ( )
inline
Returns
The pointer to the buffer.

References castor3d::ShaderBuffer::getPtr().

Here is the call graph for this function:

◆ getType()

VkDescriptorType castor3d::SssProfileBuffer::getType ( ) const
inline
Returns
The buffer descriptor type.

References castor3d::ShaderBuffer::getType().

Here is the call graph for this function:

◆ removePass()

C3D_API void castor3d::SssProfileBuffer::removePass ( Pass pass)

Removes a pass from the buffer.

Parameters
[in]passThe pass.

◆ update()

C3D_API void castor3d::SssProfileBuffer::update ( ashes::CommandBuffer const &  commandBuffer)

Updates the passes buffer.

Member Data Documentation

◆ DataSize

constexpr uint32_t castor3d::SssProfileBuffer::DataSize = sizeof( SssProfileData )
staticconstexpr

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