Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
castor3d::GBufferBase Class Reference

#include <GBuffer.hpp>

Inheritance diagram for castor3d::GBufferBase:
Inheritance graph
[legend]
Collaboration diagram for castor3d::GBufferBase:
Collaboration graph
[legend]

Public Member Functions

C3D_API GBufferBase (RenderDevice const &device, castor::String name)
 

Protected Member Functions

C3D_API TexturePtr doCreateTexture (crg::ResourceHandler &handler, castor::String const &name, VkImageCreateFlags createFlags, VkExtent3D const &size, uint32_t layerCount, uint32_t mipLevels, VkFormat format, VkImageUsageFlags usageFlags, VkBorderColor const &borderColor) const
 
template<typename TextureEnumT >
TextureArray doCreateTextures (crg::ResourceHandler &handler, std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &inputs, castor::String const &prefix, VkImageCreateFlags createFlags, castor::Size const &size, uint32_t layerCount=1u) const
 Initialises 2D or 2D array g-buffer textures. More...
 
template<typename TextureEnumT >
TextureArray doCreateTextures (crg::ResourceHandler &handler, std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &inputs, castor::String const &prefix, VkImageCreateFlags createFlags, VkExtent3D const &size) const
 Initialises 3D g-buffer textures. More...
 

Protected Attributes

RenderDevice const & m_device
 

Constructor & Destructor Documentation

◆ GBufferBase()

C3D_API castor3d::GBufferBase::GBufferBase ( RenderDevice const &  device,
castor::String  name 
)
explicit

Member Function Documentation

◆ doCreateTexture()

C3D_API TexturePtr castor3d::GBufferBase::doCreateTexture ( crg::ResourceHandler &  handler,
castor::String const &  name,
VkImageCreateFlags  createFlags,
VkExtent3D const &  size,
uint32_t  layerCount,
uint32_t  mipLevels,
VkFormat  format,
VkImageUsageFlags  usageFlags,
VkBorderColor const &  borderColor 
) const
protected

Referenced by doCreateTextures().

Here is the caller graph for this function:

◆ doCreateTextures() [1/2]

template<typename TextureEnumT >
TextureArray castor3d::GBufferBase::doCreateTextures ( crg::ResourceHandler &  handler,
std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &  inputs,
castor::String const &  prefix,
VkImageCreateFlags  createFlags,
castor::Size const &  size,
uint32_t  layerCount = 1u 
) const
inlineprotected

Initialises 2D or 2D array g-buffer textures.

Parameters
[in]handlerThe render graph resource handler.
[in]inputsThe already existing images.
[in]prefixThe buffer's textures name's prefix.
[in]createFlagsThe creation flags for images remaining to create.
[in]sizeThe g-buffer's dimensions.
[in]layerCountThe layers count for the g-buffer.

References doCreateTexture(), castor3d::getBorderColor(), castor3d::getFormat(), castor3d::getMipLevels(), castor3d::getName(), and castor3d::getUsageFlags().

Here is the call graph for this function:

◆ doCreateTextures() [2/2]

template<typename TextureEnumT >
TextureArray castor3d::GBufferBase::doCreateTextures ( crg::ResourceHandler &  handler,
std::array< TexturePtr, size_t(TextureEnumT::eCount) > const &  inputs,
castor::String const &  prefix,
VkImageCreateFlags  createFlags,
VkExtent3D const &  size 
) const
inlineprotected

Initialises 3D g-buffer textures.

Parameters
[in]handlerThe render graph resource handler.
[in]inputsThe already existing images.
[in]prefixThe buffer's textures name's prefix.
[in]createFlagsThe creation flags for images remaining to create.
[in]sizeThe g-buffer's dimensions.

References doCreateTexture(), castor3d::getBorderColor(), castor3d::getFormat(), castor3d::getMipLevels(), castor3d::getName(), and castor3d::getUsageFlags().

Here is the call graph for this function:

Member Data Documentation

◆ m_device

RenderDevice const& castor3d::GBufferBase::m_device
protected

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