Castor3D 0.12.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)=default
 
GBufferToperator= (GBufferT &&rhs)=default
 
 GBufferT (crg::ResourceHandler &handler, RenderDevice const &device, castor::String name, std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &inputs, VkImageCreateFlags createFlags, castor::Size const &size, uint32_t layerCount=1u)
 Initialises 2D or 2D-Array g-buffer related stuff. More...
 
 GBufferT (crg::ResourceHandler &handler, RenderDevice const &device, castor::String name, std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &inputs, VkImageCreateFlags createFlags, VkExtent3D const &size)
 Initialises 3D g-buffer related stuff. More...
 
 ~GBufferT ()
 
void create ()
 
Texture const & operator[] (TextureEnumT texture) const
 
TextureArray::const_iterator cbegin () const
 
TextureArray::const_iterator cend () const
 
TextureArray::const_iterator begin () const
 
TextureArray::const_iterator end () const
 
TextureArray::iterator begin ()
 
TextureArray::iterator end ()
 

Protected Attributes

TextureArray 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)
default

◆ GBufferT() [3/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( crg::ResourceHandler &  handler,
RenderDevice const &  device,
castor::String  name,
std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &  inputs,
VkImageCreateFlags  createFlags,
castor::Size const &  size,
uint32_t  layerCount = 1u 
)
inline

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

Parameters
[in]handlerThe 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.

◆ GBufferT() [4/4]

template<typename TextureEnumT >
castor3d::GBufferT< TextureEnumT >::GBufferT ( crg::ResourceHandler &  handler,
RenderDevice const &  device,
castor::String  name,
std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &  inputs,
VkImageCreateFlags  createFlags,
VkExtent3D const &  size 
)
inline

Initialises 3D g-buffer related stuff.

Parameters
[in]handlerThe 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.

◆ ~GBufferT()

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

Member Function Documentation

◆ begin() [1/2]

template<typename TextureEnumT >
TextureArray::iterator castor3d::GBufferT< TextureEnumT >::begin ( )
inline

◆ begin() [2/2]

template<typename TextureEnumT >
TextureArray::const_iterator castor3d::GBufferT< TextureEnumT >::begin ( ) const
inline

◆ cbegin()

template<typename TextureEnumT >
TextureArray::const_iterator castor3d::GBufferT< TextureEnumT >::cbegin ( ) const
inline

◆ cend()

template<typename TextureEnumT >
TextureArray::const_iterator castor3d::GBufferT< TextureEnumT >::cend ( ) const
inline

◆ create()

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

◆ end() [1/2]

template<typename TextureEnumT >
TextureArray::iterator castor3d::GBufferT< TextureEnumT >::end ( )
inline

◆ end() [2/2]

template<typename TextureEnumT >
TextureArray::const_iterator castor3d::GBufferT< TextureEnumT >::end ( ) const
inline

◆ operator=() [1/2]

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

◆ 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
inline

Member Data Documentation

◆ m_result

template<typename TextureEnumT >
TextureArray castor3d::GBufferT< TextureEnumT >::m_result
protected

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