![]() |
Castor3D
0.11.0
Multiplatform 3D engine
|
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 |
![]() | |
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... | |
RenderSystem * | getRenderSystem () 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 | |
![]() | |
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... | |
![]() | |
C3D_API | RenderQuad (RenderDevice const &device, castor::String const &name, VkFilter samplerFilter, rq::Config config) |
Constructeur. Plus de détails... | |
![]() | |
RenderSystem & | m_renderSystem |
RenderDevice const & | m_device |
SamplerSPtr | m_sampler |
rq::ConfigData | m_config |
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.
[in] | engine | Le moteur. |
[in] | device | Le device GPU. |
[in] | prefix | Le préfixe du nom de la passe. |
[in] | size | Les dimensions de la zone de rendu. |
[in] | config | La configuration du SSAO. |
[in] | ssaoConfigUbo | L'UBO de configuration du SSAO. |
[in] | gpInfoUbo | L'UBO de configuration du GBuffer. |
[in] | axis | L'axe dans lequel le flou s'applique ({0, 1} pour vertical, {1, 0} pour horizontal). |
[in] | input | La texture à flouter. |
[in] | bentInput | La texture de bent normals à flouter |
[in] | normals | Le tampon de normales. |
castor3d::SsaoBlurPass::~SsaoBlurPass | ( | ) |
Destructeur.
C3D_API void castor3d::SsaoBlurPass::accept | ( | bool | horizontal, |
SsaoConfig & | config, | ||
PipelineVisitorBase & | visitor | ||
) |
Accepte un visiteur.
[in] | horizontal | Dit si le flou est horizontal. |
[in] | config | La configuration du SSAO. |
[in] | visitor | Le visiteur. |
ashes::Semaphore const& castor3d::SsaoBlurPass::blur | ( | ashes::Semaphore const & | toWait | ) | const |
Applique le flou.
[in] | toWait | Le sémaphore de la précédente passe de rendu. |
|
inline |
|
inline |
name Accesseurs.
void castor3d::SsaoBlurPass::update | ( | CpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau CPU.
[in,out] | updater | Les données d'update. |
|
static |