Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | List of all members
castor3d::ClustersUbo Class Reference

#include <ClustersUbo.hpp>

Public Types

using Configuration = ClustersUboConfiguration
 

Public Member Functions

C3D_API ClustersUbo (ClustersUbo const &rhs)=delete
 
C3D_API ClustersUbooperator= (ClustersUbo const &rhs)=delete
 
C3D_API ClustersUbo (ClustersUbo &&rhs) noexcept=default
 
C3D_API ClustersUbooperator= (ClustersUbo &&rhs) noexcept=delete
 
C3D_API ClustersUbo (RenderDevice const &device)
 
C3D_API ~ClustersUbo () noexcept
 
C3D_API void cpuUpdate (castor::Point3ui gridDim, castor::Point2ui clusterSize, float viewNear, float viewFar, uint32_t pointLightsCount, uint32_t spotLightsCount, ClusterSplitScheme splitScheme, float bias, bool enableWaveIntrinsics)
 
void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 
VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t index, VkShaderStageFlags stages) const
 
void addLayoutBinding (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index, VkShaderStageFlags stages) const
 
void createSizedBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &layoutBinding) const
 
ashes::WriteDescriptorSet getDescriptorWrite (uint32_t dstBinding, uint32_t dstArrayElement=0u) const
 
void addDescriptorWrite (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &dstBinding, uint32_t dstArrayElement=0u) const
 
UniformBufferOffsetT< Configuration > const & getUbo () const
 

Member Typedef Documentation

◆ Configuration

Constructor & Destructor Documentation

◆ ClustersUbo() [1/3]

C3D_API castor3d::ClustersUbo::ClustersUbo ( ClustersUbo const & rhs)
delete

◆ ClustersUbo() [2/3]

C3D_API castor3d::ClustersUbo::ClustersUbo ( ClustersUbo && rhs)
defaultnoexcept

◆ ClustersUbo() [3/3]

C3D_API castor3d::ClustersUbo::ClustersUbo ( RenderDevice const & device)
explicit

◆ ~ClustersUbo()

C3D_API castor3d::ClustersUbo::~ClustersUbo ( )
noexcept

Member Function Documentation

◆ addDescriptorWrite()

void castor3d::ClustersUbo::addDescriptorWrite ( ashes::WriteDescriptorSetArray & descriptorWrites,
uint32_t & dstBinding,
uint32_t dstArrayElement = 0u ) const
inline

References getDescriptorWrite().

Here is the call graph for this function:

◆ addLayoutBinding()

void castor3d::ClustersUbo::addLayoutBinding ( ashes::VkDescriptorSetLayoutBindingArray & bindings,
uint32_t & index,
VkShaderStageFlags stages ) const
inline

References castor3d::addDescriptorSetLayoutBinding().

Here is the call graph for this function:

◆ cpuUpdate()

C3D_API void castor3d::ClustersUbo::cpuUpdate ( castor::Point3ui gridDim,
castor::Point2ui clusterSize,
float viewNear,
float viewFar,
uint32_t pointLightsCount,
uint32_t spotLightsCount,
ClusterSplitScheme splitScheme,
float bias,
bool enableWaveIntrinsics )

◆ createLayoutBinding()

VkDescriptorSetLayoutBinding castor3d::ClustersUbo::createLayoutBinding ( uint32_t index,
VkShaderStageFlags stages ) const
inline

References castor3d::makeDescriptorSetLayoutBinding().

Here is the call graph for this function:

◆ createPassBinding()

void castor3d::ClustersUbo::createPassBinding ( crg::FramePass & pass,
uint32_t binding ) const
inline

References castor3d::UniformBufferOffsetT< DataT >::createPassBinding().

Here is the call graph for this function:

◆ createSizedBinding()

void castor3d::ClustersUbo::createSizedBinding ( ashes::DescriptorSet & descriptorSet,
VkDescriptorSetLayoutBinding const & layoutBinding ) const
inline

References castor3d::UniformBufferOffsetT< DataT >::createSizedBinding().

Here is the call graph for this function:

◆ getDescriptorWrite()

ashes::WriteDescriptorSet castor3d::ClustersUbo::getDescriptorWrite ( uint32_t dstBinding,
uint32_t dstArrayElement = 0u ) const
inline

References castor3d::UniformBufferOffsetT< DataT >::getDescriptorWrite().

Referenced by addDescriptorWrite().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getUbo()

UniformBufferOffsetT< Configuration > const & castor3d::ClustersUbo::getUbo ( ) const
inline

◆ operator=() [1/2]

C3D_API ClustersUbo & castor3d::ClustersUbo::operator= ( ClustersUbo && rhs)
deletenoexcept

◆ operator=() [2/2]

C3D_API ClustersUbo & castor3d::ClustersUbo::operator= ( ClustersUbo const & rhs)
delete

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