|
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) |
| Constructor.
|
|
C3D_API | ~ShadowMapPassSpot () noexcept override |
| Destructor.
|
|
C3D_API void | update (CpuUpdater &updater) override |
| Updates the render pass, CPU wise.
|
|
|
ShadowType | getShadowType () const noexcept |
|
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) |
| Constructor.
|
|
C3D_API bool | isPassEnabled () const noexcept override |
|
C3D_API bool | isUpToDate () const |
|
ShaderFlags | getShaderFlags () const noexcept override |
|
void | setUpToDate () |
|
C3D_API | ~RenderNodesPass () noexcept override |
| Destructor.
|
|
C3D_API void | getSubmeshShaderSource (PipelineFlags const &flags, ast::ShaderBuilder &builder) const |
| Retrieves the geometry shader source matching the given flags.
|
|
C3D_API void | getPixelShaderSource (PipelineFlags const &flags, ast::ShaderBuilder &builder) const |
| Retrieves the pixel shader source matching the given flags.
|
|
C3D_API void | forceAdjustFlags (PipelineFlags &flags) const |
| Adjusts given flags to match the render pass requirements.
|
|
C3D_API SubmeshComponentCombine | adjustFlags (SubmeshComponentCombine const &submeshCombine) const |
| Adjusts given flags to match the render pass requirements.
|
|
C3D_API PassComponentCombine | adjustFlags (PassComponentCombine const &passCombine) const |
| Adjusts given flags to match the render pass requirements.
|
|
C3D_API ProgramFlags | adjustFlags (ProgramFlags flags) const |
| Adjusts given flags to match the render pass requirements.
|
|
C3D_API SceneFlags | adjustFlags (SceneFlags flags) const |
| Adjusts given flags to match the render pass requirements.
|
|
C3D_API TextureCombine | adjustFlags (TextureCombine const &textureCombine) const |
| Filters the given textures flags using this pass needed textures.
|
|
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 |
| Creates the pipeline flags for given configuration.
|
|
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 |
| Creates the pipeline flags for given configuration.
|
|
C3D_API PipelineAndID | prepareBackPipeline (PipelineFlags const &pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout) |
| Prepares the pipeline matching the given flags, for back face culling nodes.
|
|
C3D_API PipelineAndID | prepareFrontPipeline (PipelineFlags const &pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout) |
| Prepares the pipeline matching the given flags, for front face culling nodes.
|
|
C3D_API void | cleanupPipelines () |
| Cleans up all pipelines from the lists.
|
|
C3D_API void | initialiseAdditionalDescriptor (RenderPipeline &pipeline, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const *shadowBuffer) |
| Initialises the additional descriptor set.
|
|
C3D_API void | setIgnoredNode (SceneNode const &node) |
| Sets the node ignored node.
|
|
C3D_API void | countNodes (RenderInfo &info) const noexcept |
| Registers nodes counts to given RenderInfo.
|
|
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 Scene & | getScene () 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 |
|
SceneCuller & | getCuller () 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 |
|
Engine * | getOwner () const |
|
| NamedBaseT (T name) noexcept |
| Constructor.
|
|
T const & | getName () const noexcept |
| Retrieves the name.
|
|
void | rename (T name) noexcept |
|
|
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) |
| Adds shadow maps descriptor layout bindings to given list.
|
|
static C3D_API void | addShadowBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds shadow maps descriptor layout bindings to given list.
|
|
static C3D_API void | addBackgroundBindings (SceneBackground const &background, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds background descriptor layout bindings to given list.
|
|
static C3D_API void | addGIBindings (SceneFlags flags, IndirectLightingData const &indirectLighting, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds indirect lighting descriptor layout bindings to given list.
|
|
static C3D_API void | addClusteredLightingBindings (FrustumClusters const &frustumClusters, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds clusters descriptor layout bindings to given list.
|
|
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) |
|
RenderNodesPassChangeSignal | onSortNodes |
|
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) |
| Constructor.
|
|
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) |
| Visitor acceptance function.
|
|
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 |
|
RenderQueue & | getRenderQueue () const noexcept |
|
| OwnedBy (Engine &owner) |
| Constructor.
|
|
ShadowMap const & | m_shadowMap |
|
bool | m_initialised { false } |
|
bool | m_outOfDate { true } |
|
ShadowMapUbo | m_shadowMapUbo |
|
bool | m_needsVsm |
|
bool | m_needsRsm |
|
RenderDevice const & | m_device |
|
RenderSystem & | m_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 {} |
|
T | m_name |
|