Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::TransparentPass

#include <TransparentPass.hpp>

Graphe d'héritage de castor3d::TransparentPass:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::TransparentPass:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API TransparentPass (RenderTechnique *parent, crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, Texture const &sceneImage, Texture const &depthObjImage, Texture const &normalsImage, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, RenderNodesPassDesc const &renderPassDesc, RenderTechniquePassDesc const &techniquePassDesc)
 Constructeur.
 
C3D_API void accept (RenderTechniqueVisitor &visitor) override
 Fonction d'acceptation de visiteur.
 
void setDepthFormat (VkFormat value) noexcept
 
- Fonctions membres publiques hérités de castor3d::RenderTechniqueNodesPass
C3D_API void update (CpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU.
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine const &passComponents, SubmeshComponentCombine const &submeshComponents, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeId, LightingModelID lightingModelId, BackgroundModelID backgroundModelId, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets, SubmeshRenderData *submeshData) const override
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API ShaderFlags getShaderFlags () const noexcept override
 
C3D_API void countNodes (RenderInfo &info) const noexcept override
 Enregistre les comptes de noeuds dans le RenderInfo donné.
 
C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const noexcept override
 
C3D_API bool isPassEnabled () const noexcept override
 
EnginegetEngine () const noexcept
 
Scene const & getScene () const noexcept
 
RenderTechnique const & getTechnique () const noexcept
 
DebugConfiggetDebugConfig () const noexcept
 
ClustersConfig const * getClustersConfig () const noexcept override
 
bool hasSsao () const noexcept override
 
bool areDebugTargetsEnabled () const noexcept override
 
- Fonctions membres publiques hérités de castor3d::RenderNodesPass
C3D_API ~RenderNodesPass () noexcept override
 Destructeur.
 
C3D_API void getSubmeshShaderSource (PipelineFlags const &flags, ast::ShaderBuilder &builder) const
 Récupère le source du geometry shader qui correspond aux indicateurs donnés.
 
C3D_API void getPixelShaderSource (PipelineFlags const &flags, ast::ShaderBuilder &builder) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés.
 
C3D_API void forceAdjustFlags (PipelineFlags &flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API SubmeshComponentCombine adjustFlags (SubmeshComponentCombine const &submeshCombine) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API PassComponentCombine adjustFlags (PassComponentCombine const &passCombine) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API ProgramFlags adjustFlags (ProgramFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API SceneFlags adjustFlags (SceneFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API TextureCombine adjustFlags (TextureCombine const &textureCombine) const
 Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe.
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine const &passComponents, SubmeshComponentCombine const &submeshComponents, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeId, LightingModelID lightingModelId, BackgroundModelID backgroundModelId, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets, SubmeshRenderData const *submeshData) const noexcept
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API PipelineFlags createPipelineFlags (Pass const &pass, TextureCombine const &textures, SubmeshComponentCombine const &submeshComponents, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, GpuBufferOffsetT< castor::Point4f > const &morphTargets, SubmeshRenderData const *submeshData) const noexcept
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API PipelineAndID prepareBackPipeline (PipelineFlags const &pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling.
 
C3D_API PipelineAndID prepareFrontPipeline (PipelineFlags const &pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling.
 
C3D_API void cleanupPipelines ()
 Nettoie tous les pipelines des listes.
 
C3D_API void initialiseAdditionalDescriptor (RenderPipeline &pipeline, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer)
 Initialise l'ensemble de descripteurs additionnels.
 
C3D_API void setIgnoredNode (SceneNode const &node)
 Définit le noeud ignoré.
 
C3D_API void countNodes (RenderInfo &info) const noexcept
 Enregistre les comptes de noeuds dans le RenderInfo donné.
 
C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const noexcept
 
C3D_API bool isValidPass (Pass const &pass) const noexcept
 
C3D_API bool isValidRenderable (RenderedObject const &object) const noexcept
 
C3D_API bool isValidNode (SceneNode const &node) const noexcept
 
C3D_API bool allowClusteredLighting (ClustersConfig const &config) const noexcept
 
C3D_API bool hasNodes () const noexcept
 
C3D_API ScenegetScene () const noexcept
 
C3D_API SceneNode const * getIgnoredNode () const noexcept
 
C3D_API bool isMeshShading () const noexcept
 
C3D_API PipelinesNodesT< SubmeshRenderNode > const & getSubmeshNodes () const
 
C3D_API InstantiatedPipelinesNodesT< SubmeshRenderNode > const & getInstancedSubmeshNodes () const
 
C3D_API PipelinesNodesT< BillboardRenderNode > const & getBillboardNodes () const
 
C3D_API uint32_t getMaxPipelineId () const
 
C3D_API PipelineBufferArray const & getPassPipelineNodes () const
 
C3D_API uint32_t getPipelineNodesIndex (PipelineBaseHash const &hash, ashes::BufferBase const &buffer) const
 
C3D_API uint32_t getDrawCallsCount () const
 
C3D_API RenderCounts const & getVisibleCounts () const
 
ComponentModeFlags getComponentsMask () const noexcept
 
bool isOrderIndependent () const noexcept
 
SceneCullergetCuller () const noexcept
 
CameraUbo const & getMatrixUbo () const noexcept
 
uint32_t getPipelinesCount () const noexcept
 
bool isDirty () const noexcept
 
bool forceTwoSided () const noexcept
 
RenderFilters getRenderFilters () const noexcept
 
castor::String const & getTypeName () const noexcept
 
RenderPassTypeID getTypeID () const noexcept
 
bool filtersStatic () const noexcept
 
bool filtersNonStatic () const noexcept
 
bool handleStatic () const noexcept
 
DeferredLightingFilter getDeferredLightingFilter () const noexcept
 
ParallaxOcclusionFilter getParallaxOcclusionFilter () const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 
- Fonctions membres publiques hérités de castor3d::RenderTechniquePass
virtual C3D_API ~RenderTechniquePass () noexcept=default
 
C3D_API EnginegetEngine () const noexcept
 
C3D_API IndirectLightingData const & getIndirectLighting () const noexcept
 
C3D_API DebugConfiggetDebugConfig () const noexcept
 
C3D_API bool areDebugTargetsEnabled () const noexcept
 
Scene const & getScene () noexcept
 
Scene const & getScene () const noexcept
 
RenderTechnique const & getTechnique () const noexcept
 

Attributs publics statiques

static C3D_API castor::String const Type
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de castor3d::RenderNodesPass
static C3D_API ashes::PipelineColorBlendStateCreateInfo createBlendState (BlendMode colourBlendMode, BlendMode alphaBlendMode, uint32_t attachesCount)
 
static C3D_API void addShadowBindings (SceneFlags const &sceneFlags, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index)
 Ajoute les bindings de descriptor layout des shadow maps à la liste donnée.
 
static C3D_API void addShadowBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index)
 Ajoute les bindings de descriptor layout des shadow maps à la liste donnée.
 
static C3D_API void addBackgroundBindings (SceneBackground const &background, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index)
 Ajoute les bindings de descriptor layout du background à la liste donnée.
 
static C3D_API void addGIBindings (SceneFlags flags, IndirectLightingData const &indirectLighting, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index)
 Ajoute les bindings de descriptor layout de l'éclairage indirect à la liste donnée.
 
static C3D_API void addClusteredLightingBindings (FrustumClusters const &frustumClusters, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index)
 Ajoute les bindings de descriptor layout des clusters à la liste donnée.
 
static C3D_API void addShadowDescriptor (RenderSystem const &renderSystem, crg::RunnableGraph &graph, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const &shadowBuffer, uint32_t &index)
 
static C3D_API void addShadowDescriptor (RenderSystem const &renderSystem, crg::RunnableGraph &graph, SceneFlags const &sceneFlags, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const &shadowBuffer, uint32_t &index)
 
static C3D_API void addBackgroundDescriptor (SceneBackground const &background, ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index)
 
static C3D_API void addGIDescriptor (SceneFlags sceneFlags, IndirectLightingData const &indirectLighting, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index)
 
static C3D_API void addClusteredLightingDescriptor (FrustumClusters const &frustumClusters, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index)
 
- Attributs publics hérités de castor3d::RenderNodesPass
RenderNodesPassChangeSignal onSortNodes
 
- Fonctions membres protégées hérités de castor3d::RenderTechniqueNodesPass
C3D_API RenderTechniqueNodesPass (RenderTechnique *parent, crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, RenderNodesPassDesc const &renderPassDesc, RenderTechniquePassDesc const &techniquePassDesc)
 Constructeur.
 
C3D_API void doAccept (castor3d::RenderTechniqueVisitor &visitor) override
 Fonction d'acceptation de visiteur.
 
C3D_API ProgramFlags doAdjustProgramFlags (ProgramFlags flags) const override
 
C3D_API SceneFlags doAdjustSceneFlags (SceneFlags flags) const override
 
C3D_API void doAddEnvBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddGIBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddPassSpecificsBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddEnvDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
C3D_API void doAddGIDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
C3D_API void doAddPassSpecificsDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
- Fonctions membres protégées hérités de castor3d::RenderNodesPass
C3D_API RenderNodesPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, RenderNodesPassDesc const &desc)
 Constructeur.
 
virtual C3D_API void doUpdateUbos (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
virtual C3D_API bool doIsValidPass (Pass const &pass) const noexcept
 
virtual C3D_API bool doIsValidRenderable (RenderedObject const &object) const noexcept
 
virtual C3D_API SubmeshComponentCombine doAdjustSubmeshComponents (SubmeshComponentCombine submeshCombine) const
 
C3D_API ShaderProgramRPtr doGetProgram (PipelineFlags const &flags)
 
C3D_API void doAccept (castor3d::RenderTechniqueVisitor &visitor)
 Fonction d'acceptation de visiteur.
 
C3D_API void doUpdateFlags (PipelineFlags &flags) const
 
C3D_API void doAddShadowBindings (Scene const &scene, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddBackgroundBindings (Scene const &scene, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddClusteredLightingBindings (RenderTarget const &target, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddShadowDescriptor (Scene const &scene, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer, uint32_t &index) const
 
C3D_API void doAddBackgroundDescriptor (Scene const &scene, ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 
C3D_API void doAddClusteredLightingDescriptor (RenderTarget const &target, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
RenderQueuegetRenderQueue () const noexcept
 
- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 
- Fonctions membres protégées hérités de castor3d::RenderTechniquePass
C3D_API RenderTechniquePass (RenderTechnique *parent, Scene const &scene, bool outputScattering)
 Constructeur.
 
- Attributs protégés hérités de castor3d::RenderTechniqueNodesPass
Cameram_camera { nullptr }
 
ShaderFlags m_shaderFlags {}
 
SsaoConfig const * m_ssaoConfig {}
 
Texture const * m_ssao {}
 
IndirectLightingData m_indirectLighting
 
ClustersConfig const * m_clustersConfig {}
 
- Attributs protégés hérités de castor3d::RenderNodesPass
RenderDevice const & m_device
 
RenderSystemm_renderSystem
 
CameraUbo const & m_cameraUbo
 
crg::ImageViewIdArray m_targetImage
 
crg::ImageViewIdArray m_targetDepth
 
castor::String m_typeName
 
RenderPassTypeID m_typeID {}
 
RenderFilters m_filters { RenderFilter::eNone }
 
castor::String m_category
 
castor::Size m_size
 
bool m_oit { false }
 
bool m_forceTwoSided { false }
 
bool m_safeBand { false }
 
bool m_isDirty { true }
 
bool m_meshShading {}
 
SceneUbo const * m_sceneUbo {}
 
uint32_t m_index { 0u }
 
std::optional< bool > m_handleStatic { std::nullopt }
 
ComponentModeFlags m_componentsMask {}
 
bool m_allowClusteredLighting {}
 
DeferredLightingFilter m_deferredLightingFilter {}
 
ParallaxOcclusionFilter m_parallaxOcclusionFilter {}
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 
- Attributs protégés hérités de castor3d::RenderTechniquePass
RenderTechniquem_parent {}
 
Scene const & m_scene
 
uint32_t m_drawCalls {}
 
bool m_outputScattering {}
 

Documentation des constructeurs et destructeur

◆ TransparentPass()

C3D_API castor3d::TransparentPass::TransparentPass ( RenderTechnique * parent,
crg::FramePass const & pass,
crg::GraphContext & context,
crg::RunnableGraph & graph,
RenderDevice const & device,
Texture const & sceneImage,
Texture const & depthObjImage,
Texture const & normalsImage,
crg::ImageViewIdArray targetImage,
crg::ImageViewIdArray targetDepth,
RenderNodesPassDesc const & renderPassDesc,
RenderTechniquePassDesc const & techniquePassDesc )

Constructeur.

Paramètres
[in]parentLa technique parente.
[in]passLa frame pass parente.
[in]contextLe contexte de rendu.
[in]graphLe runnable graph.
[in]deviceLe device GPU.
[in]sceneImageLe résultat actuel du rendu.
[in]depthObjImageL'image contenant les profondeur/ID d'objet des objets opaques.
[in]normalsImageL'image contenant les normales des objets opaques.
[in]targetImageL'image dans laquelle cette passe fait son rendu.
[in]targetDepthL'image de profondeur dans laquelle cette passe fait son rendu.
[in]renderPassDescLes données de construction de passe de rendu de scène.
[in]techniquePassDescLes données de construction de passe de rendu de technique.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::TransparentPass::accept ( RenderTechniqueVisitor & visitor)
overridevirtual

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

Réimplémentée à partir de castor3d::RenderTechniqueNodesPass.

◆ setDepthFormat()

void castor3d::TransparentPass::setDepthFormat ( VkFormat value)
inlinenoexcept

name Accesseurs.

Documentation des données membres

◆ Type

C3D_API castor::String const castor3d::TransparentPass::Type
static

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