Castor3D 0.15.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, uint32_t index, CameraUbo const &cameraUbo, SceneCuller &culler, ShadowMap const &shadowMap, bool needsVsm, bool needsRsm, bool isStatic)
 Constructeur.
 
C3D_API ~ShadowMapPassSpot () override
 Destructeur.
 
C3D_API void update (CpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU.
 
ShadowType getShadowType () const
 
- 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 override
 
C3D_API bool isUpToDate () const
 
ComponentModeFlags getComponentsMask () const override
 
ShaderFlags getShaderFlags () const override
 
void setUpToDate ()
 
- Fonctions membres publiques hérités de castor3d::RenderNodesPass
C3D_API ~RenderNodesPass () override
 Destructeur.
 
virtual C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
C3D_API ShaderPtr getTaskShaderSource (PipelineFlags const &flags) const
 Récupère le source du task shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getMeshShaderSource (PipelineFlags const &flags) const
 Récupère le source du mesh shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getVertexShaderSource (PipelineFlags const &flags) const
 Récupère le source du vertex shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getHullShaderSource (PipelineFlags const &flags) const
 Récupère le source du hull shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getDomainShaderSource (PipelineFlags const &flags) const
 Récupère le source du domain shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getGeometryShaderSource (PipelineFlags const &flags) const
 Récupère le source du geometry shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getPixelShaderSource (PipelineFlags const &flags) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés.
 
C3D_API SubmeshFlags adjustFlags (SubmeshFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API PassComponentCombine adjustFlags (PassComponentCombine flags) 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 texturesFlags) const
 Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe.
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine components, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeId, LightingModelID lightingModelId, BackgroundModelID backgroundModelId, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, bool invertNormals, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API PipelineFlags createPipelineFlags (Pass const &pass, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API RenderPipelineprepareBackPipeline (PipelineFlags 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 RenderPipelineprepareFrontPipeline (PipelineFlags 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 initialiseAdditionalDescriptor (RenderPipeline &pipeline, ShadowMapLightTypeArray const &shadowMaps, GpuBufferOffsetT< castor::Point4f > const &morphTargets)
 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
 Enregistre les comptes de noeuds dans le RenderInfo donné.
 
virtual C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const
 
C3D_API bool isValidPass (Pass const &pass) const
 
C3D_API bool isValidRenderable (RenderedObject const &object) const
 
C3D_API bool isValidNode (SceneNode const &node) const
 
C3D_API bool hasNodes () const
 
C3D_API ScenegetScene () const
 
C3D_API SceneNode const * getIgnoredNode () const
 
C3D_API bool isMeshShading () const
 
C3D_API NodePtrByPipelineMapT< SubmeshRenderNode > const & getSubmeshNodes () const
 
C3D_API ObjectNodesPtrByPipelineMapT< SubmeshRenderNode > const & getInstancedSubmeshNodes () const
 
C3D_API NodePtrByPipelineMapT< BillboardRenderNode > const & getBillboardNodes () const
 
C3D_API std::pair< uint32_t, uint32_t > fillPipelinesIds (castor::ArrayView< uint32_t > nodesPipelinesIds) 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
 
bool isOrderIndependent () const
 
SceneCullergetCuller () const
 
CameraUbo const & getMatrixUbo () const
 
uint32_t getPipelinesCount () const
 
bool isDirty () const
 
bool forceTwoSided () const
 
RenderFilters getRenderFilters () const
 
castor::String const & getTypeName () const
 
RenderPassTypeID getTypeID () const
 
bool filtersStatic () const
 
bool filtersNonStatic () const
 
bool handleStatic () const
 

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)
 Crée un état de mélange correspondant aux modes de mélange donnés.
 
- Attributs publics hérités de castor3d::RenderNodesPass
PassSortNodesSignal 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 void doUpdateUbos (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
virtual C3D_API void doFillAdditionalBindings (PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings) const =0
 Remplit les attaches de layout de descripteurs spécifiques à une passe de rendu.
 
virtual C3D_API bool doIsValidPass (Pass const &pass) const
 
virtual C3D_API bool doIsValidRenderable (RenderedObject const &object) const
 
virtual C3D_API SubmeshFlags doAdjustSubmeshFlags (SubmeshFlags flags) const
 
virtual C3D_API ProgramFlags doAdjustProgramFlags (ProgramFlags flags) const
 
virtual C3D_API SceneFlags doAdjustSceneFlags (SceneFlags flags) const
 
C3D_API ShaderProgramRPtr doGetProgram (PipelineFlags const &flags, VkCullModeFlags cullMode=VK_CULL_MODE_NONE)
 
C3D_API void doUpdateFlags (PipelineFlags &flags) const
 
C3D_API void doAddShadowBindings (Scene const &scene, PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddBackgroundBindings (Scene const &scene, PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddShadowDescriptor (Scene const &scene, PipelineFlags const &flags, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, uint32_t &index) const
 
C3D_API void doAddBackgroundDescriptor (Scene const &scene, PipelineFlags const &flags, ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 
- 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
 
SceneCullerm_culler
 
crg::ImageViewIdArray m_targetImage
 
crg::ImageViewIdArray m_targetDepth
 
castor::String m_typeName
 
RenderPassTypeID m_typeID {}
 
RenderFilters m_filters { RenderFilter::eNone }
 
RenderQueueUPtr m_renderQueue
 
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 }
 

Documentation des constructeurs et destructeur

◆ ShadowMapPassSpot()

C3D_API castor3d::ShadowMapPassSpot::ShadowMapPassSpot ( crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
uint32_t  index,
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]indexL'indice de la passe.
[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 ( )
override

Destructeur.

Documentation des fonctions membres

◆ getShadowType()

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

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 :