|
| 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 ProgramFlags | adjustFlags (ProgramFlags flags) const |
| | Adjusts given flags to match the render pass requirements.
|
| |
| 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, uint32_t vertexStride) 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, uint32_t vertexStride) const noexcept |
| | Creates the pipeline flags for given configuration.
|
| |
| C3D_API PipelineAndID | prepareBackPipeline (PipelineFlags const &pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *vertexPullingLayouts, 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 *vertexPullingLayouts, 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 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 TextureCombine | adjustFlags (TextureCombine const &textureCombine) const |
| | Filters the given textures flags using this pass needed textures.
|
| |
| C3D_API SceneFlags | adjustFlags (SceneFlags flags) const |
| | Adjusts given flags to match the render pass requirements.
|
| |
| virtual C3D_API bool | areDebugTargetsEnabled () 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 &posBuffer, ashes::BufferBase const *idxBuffer) const |
| |
| C3D_API uint32_t | getDrawCallsCount () const |
| |
| C3D_API RenderCounts const & | getVisibleCounts () const |
| |
| bool | isOrderIndependent () const noexcept |
| |
| SceneCuller & | getCuller () const noexcept |
| |
| CameraUbo const & | getMatrixUbo () const noexcept |
| |
| uint32_t | getPipelinesCount () const noexcept |
| |
| bool | forceTwoSided () const noexcept |
| |
| DeferredLightingFilter | getDeferredLightingFilter () const noexcept |
| |
| ParallaxOcclusionFilter | getParallaxOcclusionFilter () const noexcept |
| |
| virtual | ~NodesPass () noexcept=default |
| |
| C3D_API void | update (CpuUpdater &updater) |
| | Updates the render pass, CPU wise.
|
| |
| 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 TextureCombine | adjustFlags (TextureCombine const &textureCombine) const |
| | Filters the given textures flags using this pass needed textures.
|
| |
| C3D_API SceneFlags | adjustFlags (SceneFlags flags) const |
| | Adjusts given flags to match the render pass requirements.
|
| |
| 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 |
| |
| ComponentModeFlags | getComponentsMask () const noexcept |
| |
| bool | isDirty () 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 |
| |
| Engine * | getOwner () const noexcept |
| |
| void | setOwner (Engine &owner) noexcept |
| |
| | 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) |
| |
| NodesPassChangeSignal | 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.
|
| |
| C3D_API void | doUpdate (CpuUpdater &updater) override |
| | Updates the render pass, CPU wise.
|
| |
| virtual C3D_API void | doUpdateUbos (CpuUpdater &updater) |
| | Updates the render pass, CPU wise.
|
| |
| virtual C3D_API ProgramFlags | doAdjustProgramFlags (ProgramFlags flags) const |
| |
| C3D_API ShaderProgramRPtr | doGetProgram (PipelineFlags const &flags) |
| |
| C3D_API bool | doIsValidPass (Pass const &pass) const noexcept override |
| |
| C3D_API SceneFlags | doAdjustSceneFlags (SceneFlags flags) const override |
| |
| C3D_API bool | doAreValidPassFlags (PassComponentCombine const &passFlags) const noexcept override |
| |
| C3D_API bool | doIsValidNode (SceneNode const &node) const noexcept override |
| |
| 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 |
| |
| C3D_API | NodesPass (RenderDevice const &device, castor::String const &categoryName, castor::String const &typeName, castor::String const &fullName, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, NodesPassDesc const &desc) |
| | Constructor.
|
| |
| | OwnedBy (Engine &owner) noexcept |
| | Constructor.
|
| |