Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
castor3d::RenderQuad Class Reference

#include <RenderQuad.hpp>

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

Public Member Functions

virtual C3D_API ~RenderQuad () noexcept
 
C3D_API RenderQuad (RenderQuad &&rhs) noexcept
 
C3D_API void cleanup () noexcept
 Cleans up GPU objects.
 
C3D_API void createPipeline (VkExtent2D const &size, castor::Position const &position, ashes::PipelineShaderStageCreateInfoArray const &program, ashes::RenderPass const &renderPass, ashes::VkPushConstantRangeArray const &pushRanges=ashes::VkPushConstantRangeArray{}, ashes::PipelineDepthStencilStateCreateInfo dsState=ashes::PipelineDepthStencilStateCreateInfo{ 0u, VK_FALSE, VK_FALSE })
 Creates the rendering pipeline.
 
C3D_API void registerPassInputs (ashes::WriteDescriptorSetArray const &writes, bool invertY=false)
 Creates the entries for one pass.
 
C3D_API void initialisePass (uint32_t passIndex)
 Initialises the descriptor sets for the registered pass at given index.
 
C3D_API void initialisePasses ()
 Initialises the descriptor sets for all registered passes.
 
C3D_API void createPipelineAndPass (VkExtent2D const &size, castor::Position const &position, ashes::PipelineShaderStageCreateInfoArray const &program, ashes::RenderPass const &renderPass, ashes::WriteDescriptorSetArray const &writes, ashes::VkPushConstantRangeArray const &pushRanges=ashes::VkPushConstantRangeArray{}, ashes::PipelineDepthStencilStateCreateInfo dsState=ashes::PipelineDepthStencilStateCreateInfo{ 0u, false, false })
 Creates the rendering pipeline and initialises the quad for one pass.
 
C3D_API void registerPass (ashes::CommandBuffer &commandBuffer, uint32_t descriptorSetIndex) const
 Prpares the commands to render the quad, inside given command buffer.
 
void registerPass (ashes::CommandBuffer &commandBuffer) const
 Prpares the commands to render the quad, inside given command buffer.
 
RenderSystemgetRenderSystem () const noexcept
 
RenderDevice const & getDevice () const noexcept
 
Sampler const & getSampler () const noexcept
 
- Public Member Functions inherited from castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructor.
 
T const & getName () const noexcept
 Retrieves the name.
 
void rename (T name) noexcept
 

Protected Member Functions

C3D_API RenderQuad (RenderDevice const &device, castor::String const &name, VkFilter samplerFilter, rq::Config config)
 Constructor.
 

Protected Attributes

RenderSystemm_renderSystem
 
RenderDevice const & m_device
 
SamplerObs m_sampler {}
 
rq::ConfigData m_config
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 

Friends

template<typename ConfigT , typename BuilderT >
class RenderQuadBuilderT
 

Constructor & Destructor Documentation

◆ RenderQuad() [1/2]

C3D_API castor3d::RenderQuad::RenderQuad ( RenderDevice const & device,
castor::String const & name,
VkFilter samplerFilter,
rq::Config config )
protected

Constructor.

Parameters
[in]deviceThe RenderDevice.
[in]nameThe pass name.
[in]samplerFilterThe sampler filter for the source texture.
[in]configThe configuration.

◆ ~RenderQuad()

virtual C3D_API castor3d::RenderQuad::~RenderQuad ( )
virtualnoexcept

◆ RenderQuad() [2/2]

C3D_API castor3d::RenderQuad::RenderQuad ( RenderQuad && rhs)
explicitnoexcept

Member Function Documentation

◆ cleanup()

C3D_API void castor3d::RenderQuad::cleanup ( )
noexcept

Cleans up GPU objects.

◆ createPipeline()

C3D_API void castor3d::RenderQuad::createPipeline ( VkExtent2D const & size,
castor::Position const & position,
ashes::PipelineShaderStageCreateInfoArray const & program,
ashes::RenderPass const & renderPass,
ashes::VkPushConstantRangeArray const & pushRanges = ashes::VkPushConstantRangeArray{},
ashes::PipelineDepthStencilStateCreateInfo dsState = ashes::PipelineDepthStencilStateCreateInfo{ 0u, VK_FALSE, VK_FALSE } )

Creates the rendering pipeline.

Parameters
[in]sizeThe render size.
[in]positionThe render position.
[in]programThe shader program.
[in]renderPassThe render pass to use.
[in]pushRangesThe push constant ranges.
[in]dsStateThe depth and stencil state.

◆ createPipelineAndPass()

C3D_API void castor3d::RenderQuad::createPipelineAndPass ( VkExtent2D const & size,
castor::Position const & position,
ashes::PipelineShaderStageCreateInfoArray const & program,
ashes::RenderPass const & renderPass,
ashes::WriteDescriptorSetArray const & writes,
ashes::VkPushConstantRangeArray const & pushRanges = ashes::VkPushConstantRangeArray{},
ashes::PipelineDepthStencilStateCreateInfo dsState = ashes::PipelineDepthStencilStateCreateInfo{ 0u, false, false } )

Creates the rendering pipeline and initialises the quad for one pass.

Parameters
[in]sizeThe render size.
[in]positionThe render position.
[in]programThe shader program.
[in]renderPassThe render pass to use.
[in]writesThe pass descriptor writes.
[in]pushRangesThe push constant ranges.
[in]dsStateThe depth stencil state to use.

◆ getDevice()

RenderDevice const & castor3d::RenderQuad::getDevice ( ) const
inlinenoexcept

References m_device.

◆ getRenderSystem()

RenderSystem * castor3d::RenderQuad::getRenderSystem ( ) const
inlinenoexcept

References m_renderSystem.

◆ getSampler()

Sampler const & castor3d::RenderQuad::getSampler ( ) const
inlinenoexcept

References m_sampler.

◆ initialisePass()

C3D_API void castor3d::RenderQuad::initialisePass ( uint32_t passIndex)

Initialises the descriptor sets for the registered pass at given index.

◆ initialisePasses()

C3D_API void castor3d::RenderQuad::initialisePasses ( )

Initialises the descriptor sets for all registered passes.

◆ registerPass() [1/2]

void castor3d::RenderQuad::registerPass ( ashes::CommandBuffer & commandBuffer) const
inline

Prpares the commands to render the quad, inside given command buffer.

Parameters
[in,out]commandBufferThe command buffer.

References registerPass().

Here is the call graph for this function:

◆ registerPass() [2/2]

C3D_API void castor3d::RenderQuad::registerPass ( ashes::CommandBuffer & commandBuffer,
uint32_t descriptorSetIndex ) const

Prpares the commands to render the quad, inside given command buffer.

Parameters
[in,out]commandBufferThe command buffer.
[in]descriptorSetIndexThe render descriptor set index.

Referenced by registerPass().

Here is the caller graph for this function:

◆ registerPassInputs()

C3D_API void castor3d::RenderQuad::registerPassInputs ( ashes::WriteDescriptorSetArray const & writes,
bool invertY = false )

Creates the entries for one pass.

Parameters
[in]writesThe pass descriptor writes.
[in]invertYtrue to Y invert the sampled image.

Friends And Related Symbol Documentation

◆ RenderQuadBuilderT

template<typename ConfigT , typename BuilderT >
friend class RenderQuadBuilderT
friend

Member Data Documentation

◆ m_config

rq::ConfigData castor3d::RenderQuad::m_config
protected

◆ m_device

RenderDevice const& castor3d::RenderQuad::m_device
protected

Referenced by getDevice().

◆ m_renderSystem

RenderSystem& castor3d::RenderQuad::m_renderSystem
protected

Referenced by getRenderSystem().

◆ m_sampler

SamplerObs castor3d::RenderQuad::m_sampler {}
protected

Referenced by getSampler().


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