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

#include <ShadowBuffer.hpp>

Public Types

using ShadowsData = castor::ArrayView< AllShadowData >
 

Public Member Functions

C3D_API ShadowBuffer (RenderDevice const &device)
 Constructor.
 
C3D_API ~ShadowBuffer () noexcept
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t binding, VkShaderStageFlags stages=(VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT)) const
 Creates the descriptor set layout binding.
 
C3D_API void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 Creates a frame pass binding.
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Creates the descriptor write for this buffer.
 
C3D_API void addBinding (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &binding) const
 Creates the descriptor write for this buffer.
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Creates the descriptor set binding at given point.
 
auto & getData ()
 

Member Typedef Documentation

◆ ShadowsData

Constructor & Destructor Documentation

◆ ShadowBuffer()

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

Constructor.

Parameters
[in]deviceThe GPU device.

◆ ~ShadowBuffer()

C3D_API castor3d::ShadowBuffer::~ShadowBuffer ( )
noexcept

Member Function Documentation

◆ addBinding()

C3D_API void castor3d::ShadowBuffer::addBinding ( ashes::WriteDescriptorSetArray & descriptorWrites,
uint32_t & binding ) const

Creates the descriptor write for this buffer.

◆ createBinding()

C3D_API void castor3d::ShadowBuffer::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::ShadowBuffer::createLayoutBinding ( uint32_t binding,
VkShaderStageFlags stages = (VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT) ) const

Creates the descriptor set layout binding.

◆ createPassBinding()

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

Creates a frame pass binding.

◆ getBinding()

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

Creates the descriptor write for this buffer.

◆ getData()

auto & castor3d::ShadowBuffer::getData ( )
inline

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