Castor3D  0.11.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres publiques statiques | Fonctions membres protégées | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe castor3d::RenderQuad
Graphe d'héritage de castor3d::RenderQuad:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderQuad:
Collaboration graph
[légende]

Fonctions membres publiques

virtual C3D_API ~RenderQuad ()
 
C3D_API RenderQuad (RenderQuad &&rhs) noexcept
 
C3D_API void cleanup ()
 Nettoie les objets GPU. Plus de détails...
 
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 })
 Crée le pipeline de rendu. Plus de détails...
 
C3D_API void registerPassInputs (ashes::WriteDescriptorSetArray const &writes)
 Crée les entrées pour une passe. Plus de détails...
 
C3D_API void initialisePasses ()
 Crée les descriptor sets pour toute les passes enregistrées. Plus de détails...
 
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 })
 Crée le pipeline de rendu et initialise le quad pour une passe. Plus de détails...
 
C3D_API void registerPass (ashes::CommandBuffer &commandBuffer, uint32_t descriptorSetIndex) const
 Prépare les commandes de dessin du quad, dans le tampon de commandes donné. Plus de détails...
 
void registerPass (ashes::CommandBuffer &commandBuffer) const
 Prépare les commandes de dessin du quad, dans le tampon de commandes donné. Plus de détails...
 
RenderSystemgetRenderSystem () const
 
RenderDevice const & getDevice () const
 
Sampler const & getSampler () const
 

Fonctions membres publiques statiques

static C3D_API ashes::WriteDescriptorSet makeDescriptorWrite (ashes::ImageView const &view, ashes::Sampler const &sampler, uint32_t dstBinding, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour un sampler et une image combinés. Plus de détails...
 
static C3D_API ashes::WriteDescriptorSet makeDescriptorWrite (ashes::UniformBuffer const &buffer, uint32_t dstBinding, uint32_t elemOffset, uint32_t elemRange, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour un uniform buffer. Plus de détails...
 
template<typename DataT >
static ashes::WriteDescriptorSet makeDescriptorWrite (UniformBufferOffsetT< DataT > const &buffer, uint32_t dstBinding, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour un intervalle d'uniform buffer. Plus de détails...
 
static C3D_API ashes::WriteDescriptorSet makeDescriptorWrite (ashes::BufferBase const &storageBuffer, uint32_t dstBinding, uint32_t byteOffset, uint32_t byteRange, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour un storage buffer. Plus de détails...
 
template<typename DataT >
static ashes::WriteDescriptorSet makeDescriptorWrite (ashes::Buffer< DataT > const &storageBuffer, uint32_t dstBinding, uint32_t elemOffset, uint32_t elemRange, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour un storage buffer. Plus de détails...
 
static C3D_API ashes::WriteDescriptorSet makeDescriptorWrite (ashes::BufferBase const &buffer, ashes::BufferView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour une texel view sur un buffer. Plus de détails...
 
template<typename DataT >
static ashes::WriteDescriptorSet makeDescriptorWrite (ashes::Buffer< DataT > const &buffer, ashes::BufferView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u)
 Crée un descriptor write pour une texel view sur un buffer. Plus de détails...
 

Fonctions membres protégées

C3D_API RenderQuad (RenderDevice const &device, castor::String const &name, VkFilter samplerFilter, rq::Config config)
 Constructeur. Plus de détails...
 

Attributs protégés

RenderSystemm_renderSystem
 
RenderDevice const & m_device
 
SamplerSPtr m_sampler
 
rq::ConfigData m_config
 

Amis

template<typename ConfigT , typename BuilderT >
class RenderQuadBuilderT
 

Documentation des constructeurs et destructeur

◆ RenderQuad() [1/2]

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

Constructeur.

Paramètres
[in]deviceLe RenderDevice.
[in]nameLe nom de la passe.
[in]samplerFilterLe filtre d'échantillonnage pour la texture source.
[in]configLa configuration.

◆ ~RenderQuad()

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

◆ RenderQuad() [2/2]

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

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::RenderQuad::cleanup ( )

Nettoie les objets GPU.

◆ 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 } 
)

Crée le pipeline de rendu.

Paramètres
[in]sizeLes dimensions de rendu.
[in]positionLa position du rendu.
[in]programLe programme shader.
[in]renderPassLa passe de rendu à utiliser.
[in]pushRangesLes intervalles de push constants.
[in]dsStateL'état de profondeur et stencil.

◆ 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 } 
)

Crée le pipeline de rendu et initialise le quad pour une passe.

Paramètres
[in]sizeLes dimensions de rendu.
[in]positionLa position du rendu.
[in]programLe programme shader.
[in]renderPassLa passe de rendu à utiliser.
[in]writesLes descriptor writes de la passe.
[in]pushRangesLes intervalles de push constants.
[in]dsStateL'état de profondeur et stencil à utiliser.

◆ getDevice()

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

Références m_device.

◆ getRenderSystem()

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

Références m_renderSystem.

◆ getSampler()

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

Références m_sampler.

◆ initialisePasses()

C3D_API void castor3d::RenderQuad::initialisePasses ( )

Crée les descriptor sets pour toute les passes enregistrées.

◆ makeDescriptorWrite() [1/7]

static C3D_API ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::ImageView const &  view,
ashes::Sampler const &  sampler,
uint32_t  dstBinding,
uint32_t  dstArrayElement = 0u 
)
static

Crée un descriptor write pour un sampler et une image combinés.

Paramètres
[in]viewLa vue sur l'image.
[in]samplerLe sampler.
[in]dstBindingLe binding dans le descriptor set.
[in]dstArrayElementL'indice dans le tableau d'éléments.

Référencé par castor3d::RenderGrid::makeDescriptorWrite(), et makeDescriptorWrite().

Voici le graphe des appelants de cette fonction :

◆ makeDescriptorWrite() [2/7]

static C3D_API ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::UniformBuffer const &  buffer,
uint32_t  dstBinding,
uint32_t  elemOffset,
uint32_t  elemRange,
uint32_t  dstArrayElement = 0u 
)
static

Crée un descriptor write pour un uniform buffer.

Paramètres
[in]bufferL'uniform buffer.
[in]dstBindingLe binding dans le descriptor set.
[in]elemOffsetL'offset, exprimé en nombre d'éléments.
[in]elemRangeL'intervalle, exprimé en nombre d'éléments.
[in]dstArrayElementL'indice dans le tableau d'éléments.

◆ makeDescriptorWrite() [3/7]

template<typename DataT >
static ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( UniformBufferOffsetT< DataT > const &  buffer,
uint32_t  dstBinding,
uint32_t  dstArrayElement = 0u 
)
inlinestatic

Crée un descriptor write pour un intervalle d'uniform buffer.

Paramètres
[in]bufferL'intervalle d'uniform buffer.
[in]dstBindingLe binding dans le descriptor set.
[in]dstArrayElementL'indice dans le tableau d'éléments.

Références castor3d::UniformBufferOffsetT< DataT >::getDescriptorWrite().

Voici le graphe d'appel pour cette fonction :

◆ makeDescriptorWrite() [4/7]

static C3D_API ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::BufferBase const &  storageBuffer,
uint32_t  dstBinding,
uint32_t  byteOffset,
uint32_t  byteRange,
uint32_t  dstArrayElement = 0u 
)
static

Crée un descriptor write pour un storage buffer.

Paramètres
[in]storageBufferLe storage buffer.
[in]dstBindingLe binding dans le descriptor set.
[in]byteOffsetL'offset, exprimé en octets.
[in]byteRangeL'intervalle, exprimé en octets.
[in]dstArrayElementL'indice dans le tableau d'éléments.

◆ makeDescriptorWrite() [5/7]

template<typename DataT >
static ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::Buffer< DataT > const &  storageBuffer,
uint32_t  dstBinding,
uint32_t  elemOffset,
uint32_t  elemRange,
uint32_t  dstArrayElement = 0u 
)
inlinestatic

Crée un descriptor write pour un storage buffer.

Paramètres
[in]storageBufferLe storage buffer.
[in]dstBindingLe binding dans le descriptor set.
[in]elemOffsetL'offset, exprimé en nombre d'éléments.
[in]elemRangeL'intervalle, exprimé en nombre d'éléments.
[in]dstArrayElementL'indice dans le tableau d'éléments.

Références makeDescriptorWrite().

Voici le graphe d'appel pour cette fonction :

◆ makeDescriptorWrite() [6/7]

static C3D_API ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::BufferBase const &  buffer,
ashes::BufferView const &  view,
uint32_t  dstBinding,
uint32_t  dstArrayElement = 0u 
)
static

Crée un descriptor write pour une texel view sur un buffer.

Paramètres
[in]bufferLe buffer.
[in]viewLa texel view.
[in]dstBindingLe binding dans le descriptor set.
[in]dstArrayElementL'indice dans le tableau d'éléments.

◆ makeDescriptorWrite() [7/7]

template<typename DataT >
static ashes::WriteDescriptorSet castor3d::RenderQuad::makeDescriptorWrite ( ashes::Buffer< DataT > const &  buffer,
ashes::BufferView const &  view,
uint32_t  dstBinding,
uint32_t  dstArrayElement = 0u 
)
inlinestatic

Crée un descriptor write pour une texel view sur un buffer.

Paramètres
[in]bufferLe buffer.
[in]viewLa texel view.
[in]dstBindingLe binding dans le descriptor set.
[in]dstArrayElementL'indice dans le tableau d'éléments.

Références makeDescriptorWrite().

Voici le graphe d'appel pour cette fonction :

◆ registerPass() [1/2]

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

Prépare les commandes de dessin du quad, dans le tampon de commandes donné.

Paramètres
[in,out]commandBufferLe tampon de commandes.
[in]descriptorSetIndexL'indice du descriptor set.

Référencé par registerPass().

Voici le graphe des appelants de cette fonction :

◆ registerPass() [2/2]

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

Prépare les commandes de dessin du quad, dans le tampon de commandes donné.

Paramètres
[in,out]commandBufferLe tampon de commandes.

Références registerPass().

Voici le graphe d'appel pour cette fonction :

◆ registerPassInputs()

C3D_API void castor3d::RenderQuad::registerPassInputs ( ashes::WriteDescriptorSetArray const &  writes)

Crée les entrées pour une passe.

Paramètres
[in]writesLes descriptor writes de la passe.

Documentation des fonctions amies et associées

◆ RenderQuadBuilderT

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

Documentation des données membres

◆ m_config

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

◆ m_device

RenderDevice const& castor3d::RenderQuad::m_device
protected

Référencé par getDevice().

◆ m_renderSystem

RenderSystem& castor3d::RenderQuad::m_renderSystem
protected

Référencé par getRenderSystem().

◆ m_sampler

SamplerSPtr castor3d::RenderQuad::m_sampler
protected

Référencé par getSampler().


La documentation de cette classe a été générée à partir du fichier suivant :