Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Protected Attributes | List of all members
castor3d::GBufferT< TextureEnumT > Class Template Reference

#include <GBuffer.hpp>

Inheritance diagram for castor3d::GBufferT< TextureEnumT >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::GBufferT< TextureEnumT >:
Collaboration graph
[legend]

Public Member Functions

 GBufferT (GBufferT const &rhs)=delete
 
GBufferToperator= (GBufferT const &rhs)=delete
 
 GBufferT (GBufferT &&rhs) noexcept=default
 
GBufferToperator= (GBufferT &&rhs) noexcept=default
 
 GBufferT (crg::ResourcesCache &resources, RenderDevice const &device, castor::String name, castor::Array< Texture const *, size_t(TextureEnumT::eCount) > const &inputs, VkImageCreateFlags createFlags, castor::Size const &size, uint32_t layerCount=1u, VkSampleCountFlagBits sampleCount=VK_SAMPLE_COUNT_1_BIT)
 Initialises 2D or 2D-Array g-buffer related stuff.
 
 GBufferT (crg::ResourcesCache &resources, RenderDevice const &device, castor::String name, castor::Array< Texture const *, size_t(TextureEnumT::eCount) > const &inputs, VkImageCreateFlags createFlags, VkExtent3D const &size, VkSampleCountFlagBits sampleCount=VK_SAMPLE_COUNT_1_BIT)
 Initialises 3D g-buffer related stuff.
 
 ~GBufferT () noexcept
 
void create () const
 
Texture const & operator[] (TextureEnumT texture) const noexcept
 
auto cbegin () const noexcept
 
auto cend () const noexcept
 
auto begin () const noexcept
 
auto end () const noexcept
 
auto begin () noexcept
 
auto end () noexcept
 
auto size () noexcept
 

Protected Attributes

castor::Vector< TextureUPtr > m_owned
 
castor::Vector< Texture const * > m_result
 

Constructor & Destructor Documentation

◆ GBufferT() [1/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( GBufferT< TextureEnumT > const & rhs)
delete

◆ GBufferT() [2/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( GBufferT< TextureEnumT > && rhs)
defaultnoexcept

◆ GBufferT() [3/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( crg::ResourcesCache & resources,
RenderDevice const & device,
castor::String name,
castor::Array< Texture const *, size_t(TextureEnumT::eCount) > const & inputs,
VkImageCreateFlags createFlags,
castor::Size const & size,
uint32_t layerCount = 1u,
VkSampleCountFlagBits sampleCount = VK_SAMPLE_COUNT_1_BIT )
inline

Initialises 2D or 2D-Array g-buffer related stuff.

Parameters
[in]resourcesThe render graph resource handler.
[in]deviceThe GPU device.
[in]nameThe buffer name.
[in]inputsThe already existing images.
[in]createFlagsThe creation flags for images remaining to create.
[in]sizeThe g-buffer's dimensions.
[in]layerCountThe layers count for the g-buffer.
[in]sampleCountThe images samples count.

◆ GBufferT() [4/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( crg::ResourcesCache & resources,
RenderDevice const & device,
castor::String name,
castor::Array< Texture const *, size_t(TextureEnumT::eCount) > const & inputs,
VkImageCreateFlags createFlags,
VkExtent3D const & size,
VkSampleCountFlagBits sampleCount = VK_SAMPLE_COUNT_1_BIT )
inline

Initialises 3D g-buffer related stuff.

Parameters
[in]resourcesThe render graph resource handler.
[in]deviceThe GPU device.
[in]nameThe buffer name.
[in]inputsThe already existing images.
[in]createFlagsThe creation flags for images remaining to create.
[in]sizeThe g-buffer's dimensions.
[in]sampleCountThe images samples count.

◆ ~GBufferT()

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::~GBufferT ( )
inlinenoexcept

Member Function Documentation

◆ begin() [1/2]

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::begin ( ) const
inlinenoexcept

◆ begin() [2/2]

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::begin ( )
inlinenoexcept

◆ cbegin()

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::cbegin ( ) const
inlinenoexcept

◆ cend()

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::cend ( ) const
inlinenoexcept

◆ create()

template<typename TextureEnumT >
void castor3d::GBufferT< TextureEnumT >::create ( ) const
inline

◆ end() [1/2]

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::end ( ) const
inlinenoexcept

◆ end() [2/2]

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::end ( )
inlinenoexcept

◆ operator=() [1/2]

template<typename TextureEnumT >
GBufferT & castor3d::GBufferT< TextureEnumT >::operator= ( GBufferT< TextureEnumT > && rhs)
defaultnoexcept

◆ operator=() [2/2]

template<typename TextureEnumT >
GBufferT & castor3d::GBufferT< TextureEnumT >::operator= ( GBufferT< TextureEnumT > const & rhs)
delete

◆ operator[]()

template<typename TextureEnumT >
Texture const & castor3d::GBufferT< TextureEnumT >::operator[] ( TextureEnumT texture) const
inlinenoexcept

◆ size()

template<typename TextureEnumT >
auto castor3d::GBufferT< TextureEnumT >::size ( )
inlinenoexcept

Member Data Documentation

◆ m_owned

template<typename TextureEnumT >
castor::Vector< TextureUPtr > castor3d::GBufferT< TextureEnumT >::m_owned
protected

◆ m_result

template<typename TextureEnumT >
castor::Vector< Texture const * > castor3d::GBufferT< TextureEnumT >::m_result
protected

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