Nameless Engine
Loading...
Searching...
No Matches
ne::DepthPipelineConfiguration Class Reference

#include <PipelineConfiguration.h>

Inheritance diagram for ne::DepthPipelineConfiguration:
ne::PipelineConfiguration

Public Member Functions

 DepthPipelineConfiguration (const std::string &sVertexShaderName, const std::set< ShaderMacro > &additionalVertexShaderMacros, std::optional< PipelineShadowMappingUsage > shadowMappingUsage)
 
virtual std::optional< GraphicsPipelineType > getGraphicsType () const override
 
virtual bool isDepthBiasEnabled () const override
 
virtual std::string_view getPixelShaderName () const override
 
virtual std::optional< PipelineShadowMappingUsage > getShadowMappingUsage () const override
 
- Public Member Functions inherited from ne::PipelineConfiguration
std::set< ShaderMacro > getAdditionalVertexShaderMacros () const
 
std::string_view getVertexShaderName () const
 
virtual std::optional< GraphicsPipelineType > getGraphicsType () const =0
 
virtual std::set< ShaderMacro > getAdditionalPixelShaderMacros () const
 
virtual std::string_view getPixelShaderName () const
 
virtual std::string_view getComputeShaderName () const
 
virtual bool isPixelBlendingEnabled () const
 
virtual bool isDepthBiasEnabled () const
 
virtual std::optional< PipelineShadowMappingUsage > getShadowMappingUsage () const
 

Protected Attributes

const std::optional< PipelineShadowMappingUsage > shadowMappingUsage
 
- Protected Attributes inherited from ne::PipelineConfiguration
std::set< ShaderMacro > additionalVertexShaderMacros
 
const std::string sVertexShaderName
 

Additional Inherited Members

- Protected Member Functions inherited from ne::PipelineConfiguration
 PipelineConfiguration (const std::string &sVertexShaderName, const std::set< ShaderMacro > &additionalVertexShaderMacros)
 

Detailed Description

Pipeline that only uses vertex shader to draw depth.

Constructor & Destructor Documentation

◆ DepthPipelineConfiguration()

ne::DepthPipelineConfiguration::DepthPipelineConfiguration ( const std::string &  sVertexShaderName,
const std::set< ShaderMacro > &  additionalVertexShaderMacros,
std::optional< PipelineShadowMappingUsage >  shadowMappingUsage 
)

Initializes options.

Parameters
sVertexShaderNameName of the compiled vertex shader to use.
additionalVertexShaderMacrosAdditional macros to enable for vertex shader configuration.
shadowMappingUsageSpecify empty if this pipeline is not used in the shadow mapping, otherwise specify which light sources will be able to use this pipeline in shadow mapping and thus shadow bias should be used.

Member Function Documentation

◆ getGraphicsType()

std::optional< GraphicsPipelineType > ne::DepthPipelineConfiguration::getGraphicsType ( ) const
overridevirtual

Returns type of the pipeline that the object describes.

Returns
Pipeline type.

Implements ne::PipelineConfiguration.

◆ getPixelShaderName()

std::string_view ne::DepthPipelineConfiguration::getPixelShaderName ( ) const
overridevirtual

Returns name of the pixel/fragment shader that should be used.

Returns
Empty string if pixel/fragment shader is not used, otherwise name of the compiled shader.

Reimplemented from ne::PipelineConfiguration.

◆ getShadowMappingUsage()

std::optional< PipelineShadowMappingUsage > ne::DepthPipelineConfiguration::getShadowMappingUsage ( ) const
overridevirtual

Tells if this pipeline is used in shadow mapping.

Returns
Empty if not used in shadow mapping, otherwise light sources that can use the pipeline for shadow mapping.

Reimplemented from ne::PipelineConfiguration.

◆ isDepthBiasEnabled()

bool ne::DepthPipelineConfiguration::isDepthBiasEnabled ( ) const
overridevirtual

Tells whether depth bias (offset is enabled or not).

Returns
true to enable, false to disable.

Reimplemented from ne::PipelineConfiguration.

Member Data Documentation

◆ shadowMappingUsage

const std::optional<PipelineShadowMappingUsage> ne::DepthPipelineConfiguration::shadowMappingUsage
protected

Empty if not used for shadow mapping, otherwise light sources that can use it.


The documentation for this class was generated from the following files: