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

Fonctions membres publiques

C3D_API LightPropagationPass (RenderDevice const &device, castor::String const &prefix, castor::String const &suffix, bool occlusion, uint32_t gridSize, BlendMode blendMode)
 Constructeur. Plus de détails...
 
C3D_API void registerPassIO (TextureUnit const *occlusion, LightVolumePassResult const &injection, LpvGridConfigUbo const &lpvConfigUbo, LightVolumePassResult const &accumulation, LightVolumePassResult const &propagate)
 
C3D_API void initialisePasses ()
 Crée les descriptor sets pour toute les passes enregistrées. Plus de détails...
 
C3D_API ashes::Semaphore const & compute (ashes::Semaphore const &toWait, uint32_t index) const
 Dessine la passe. Plus de détails...
 
C3D_API CommandsSemaphore getCommands (RenderPassTimer const &timer, uint32_t index) const
 
C3D_API void accept (PipelineVisitorBase &visitor)
 Fonction d'acceptation de visiteur. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::RenderGrid
virtual C3D_API ~RenderGrid ()
 
C3D_API RenderGrid (RenderGrid &&rhs) noexcept
 
C3D_API void cleanup ()
 Nettoie les objets GPU. Plus de détails...
 
C3D_API void createPipeline (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 (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
 
uint32_t getGridSize () const
 

Membres hérités additionnels

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

Documentation des constructeurs et destructeur

◆ LightPropagationPass()

C3D_API castor3d::LightPropagationPass::LightPropagationPass ( RenderDevice const &  device,
castor::String const &  prefix,
castor::String const &  suffix,
bool  occlusion,
uint32_t  gridSize,
BlendMode  blendMode 
)

Constructeur.

Paramètres
[in]deviceLe device GPU.
[in]prefixLe préfixe du nom de la passe.
[in]suffixLe suffixe du nom de la passe.
[in]occlusionActive l'occlusion ou pas.
[in]gridSizeLes dimensions de la grille.
[in]blendModeLe mode de mélange.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::LightPropagationPass::accept ( PipelineVisitorBase visitor)

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

◆ compute()

C3D_API ashes::Semaphore const& castor3d::LightPropagationPass::compute ( ashes::Semaphore const &  toWait,
uint32_t  index 
) const

Dessine la passe.

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

◆ getCommands()

C3D_API CommandsSemaphore castor3d::LightPropagationPass::getCommands ( RenderPassTimer const &  timer,
uint32_t  index 
) const

◆ initialisePasses()

C3D_API void castor3d::LightPropagationPass::initialisePasses ( )

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

◆ registerPassIO()

C3D_API void castor3d::LightPropagationPass::registerPassIO ( TextureUnit const *  occlusion,
LightVolumePassResult const &  injection,
LpvGridConfigUbo const &  lpvConfigUbo,
LightVolumePassResult const &  accumulation,
LightVolumePassResult const &  propagate 
)

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