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

Fonctions membres publiques

 SsaoBlurPass (Engine &engine, RenderDevice const &device, castor::String const &prefix, VkExtent2D const &size, SsaoConfig const &config, SsaoConfigUbo &ssaoConfigUbo, GpInfoUbo const &gpInfoUbo, castor::Point2i const &axis, TextureUnit const &input, TextureUnit const &bentInput, ashes::ImageView const &normals)
 Constructeur. Plus de détails...
 
 ~SsaoBlurPass ()
 Destructeur. Plus de détails...
 
void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
ashes::Semaphore const & blur (ashes::Semaphore const &toWait) const
 Applique le flou. Plus de détails...
 
C3D_API void accept (bool horizontal, SsaoConfig &config, PipelineVisitorBase &visitor)
 Accepte un visiteur. Plus de détails...
 
TextureUnit const & getResult () const
 
TextureUnit const & getBentResult () const
 
- Fonctions membres publiques hérités de castor3d::RenderQuad
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
 

Attributs publics statiques

static VkFormat constexpr ResultFormat = VK_FORMAT_R8G8B8A8_UNORM
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de castor3d::RenderQuad
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 hérités de castor3d::RenderQuad
C3D_API RenderQuad (RenderDevice const &device, castor::String const &name, VkFilter samplerFilter, rq::Config config)
 Constructeur. Plus de détails...
 
- Attributs protégés hérités de castor3d::RenderQuad
RenderSystemm_renderSystem
 
RenderDevice const & m_device
 
SamplerSPtr m_sampler
 
rq::ConfigData m_config
 

Documentation des constructeurs et destructeur

◆ SsaoBlurPass()

castor3d::SsaoBlurPass::SsaoBlurPass ( Engine engine,
RenderDevice const &  device,
castor::String const &  prefix,
VkExtent2D const &  size,
SsaoConfig const &  config,
SsaoConfigUbo ssaoConfigUbo,
GpInfoUbo const &  gpInfoUbo,
castor::Point2i const &  axis,
TextureUnit const &  input,
TextureUnit const &  bentInput,
ashes::ImageView const &  normals 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]deviceLe device GPU.
[in]prefixLe préfixe du nom de la passe.
[in]sizeLes dimensions de la zone de rendu.
[in]configLa configuration du SSAO.
[in]ssaoConfigUboL'UBO de configuration du SSAO.
[in]gpInfoUboL'UBO de configuration du GBuffer.
[in]axisL'axe dans lequel le flou s'applique ({0, 1} pour vertical, {1, 0} pour horizontal).
[in]inputLa texture à flouter.
[in]bentInputLa texture de bent normals à flouter
[in]normalsLe tampon de normales.

◆ ~SsaoBlurPass()

castor3d::SsaoBlurPass::~SsaoBlurPass ( )

Destructeur.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::SsaoBlurPass::accept ( bool  horizontal,
SsaoConfig config,
PipelineVisitorBase visitor 
)

Accepte un visiteur.

Paramètres
[in]horizontalDit si le flou est horizontal.
[in]configLa configuration du SSAO.
[in]visitorLe visiteur.

◆ blur()

ashes::Semaphore const& castor3d::SsaoBlurPass::blur ( ashes::Semaphore const &  toWait) const

Applique le flou.

Paramètres
[in]toWaitLe sémaphore de la précédente passe de rendu.

◆ getBentResult()

TextureUnit const& castor3d::SsaoBlurPass::getBentResult ( ) const
inline

◆ getResult()

TextureUnit const& castor3d::SsaoBlurPass::getResult ( ) const
inline

name Accesseurs.

◆ update()

void castor3d::SsaoBlurPass::update ( CpuUpdater updater)

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

Documentation des données membres

◆ ResultFormat

VkFormat constexpr castor3d::SsaoBlurPass::ResultFormat = VK_FORMAT_R8G8B8A8_UNORM
static

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