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::ShadowMapPassSpot

#include <ShadowMapPassSpot.hpp>

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

Fonctions membres publiques

C3D_API ShadowMapPassSpot (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, CameraUbo const &cameraUbo, SceneCuller &culler, ShadowMap const &shadowMap, bool needsVsm, bool needsRsm, bool isStatic)
 Constructeur.
 
C3D_API ~ShadowMapPassSpot () noexcept override
 Destructeur.
 
C3D_API void update (CpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU.
 
ShadowType getShadowType () const noexcept
 
- Fonctions membres publiques hérités de castor3d::ShadowMapPass
C3D_API ShadowMapPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, CameraUbo const &cameraUbo, SceneCuller &culler, ShadowMap const &shadowMap, bool needsVsm, bool needsRsm, bool isStatic)
 Constructeur.
 
C3D_API bool isPassEnabled () const noexcept override
 
C3D_API bool isUpToDate () const
 
ShaderFlags getShaderFlags () const noexcept override
 
void setUpToDate ()
 
- 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
 
virtual C3D_API bool areDebugTargetsEnabled () 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
 

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::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 bool doIsValidPass (Pass const &pass) const noexcept
 
virtual C3D_API SceneFlags doAdjustSceneFlags (SceneFlags flags) 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.
 
- Attributs protégés hérités de castor3d::ShadowMapPass
ShadowMap const & m_shadowMap
 
bool m_initialised { false }
 
bool m_outOfDate { true }
 
ShadowMapUbo m_shadowMapUbo
 
bool m_needsVsm
 
bool m_needsRsm
 
- 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
 

Documentation des constructeurs et destructeur

◆ ShadowMapPassSpot()

C3D_API castor3d::ShadowMapPassSpot::ShadowMapPassSpot ( crg::FramePass const & pass,
crg::GraphContext & context,
crg::RunnableGraph & graph,
RenderDevice const & device,
CameraUbo const & cameraUbo,
SceneCuller & culler,
ShadowMap const & shadowMap,
bool needsVsm,
bool needsRsm,
bool isStatic )

Constructeur.

Paramètres
[in]passLa frame pass parente.
[in]contextLe contexte de rendu.
[in]graphLe runnable graph.
[in]deviceLe device GPU.
[in]cameraUboL'UBO de matrices de la scène.
[in]cullerLe culler pour cette passe.
[in]shadowMapLa shadow map parente.
[in]needsVsmDit si la passe doit générer la variance shadow map.
[in]needsRsmDit si la passe doit générer les reflective shadow maps.
[in]isStaticDit si la passe est pour les noeuds statiques.

◆ ~ShadowMapPassSpot()

C3D_API castor3d::ShadowMapPassSpot::~ShadowMapPassSpot ( )
overridenoexcept

Destructeur.

Documentation des fonctions membres

◆ getShadowType()

ShadowType castor3d::ShadowMapPassSpot::getShadowType ( ) const
inlinenoexcept

name Accesseurs.

◆ update()

C3D_API void castor3d::ShadowMapPassSpot::update ( CpuUpdater & updater)
overridevirtual

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

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

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

Documentation des données membres

◆ Type

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

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