Nameless Engine
Loading...
Searching...
No Matches
ne::PipelineCreationSettings Class Referenceabstract

#include <PipelineCreationSettings.h>

Inheritance diagram for ne::PipelineCreationSettings:
ne::ColorPipelineCreationSettings ne::DepthPipelineCreationSettings

Public Member Functions

 PipelineCreationSettings (const std::string &sVertexShaderName, const std::set< ShaderMacro > &additionalVertexShaderMacros)
 
std::set< ShaderMacro > getAdditionalVertexShaderMacros ()
 
std::string getVertexShaderName ()
 
virtual PipelineType getType ()=0
 
virtual std::set< ShaderMacro > getAdditionalPixelShaderMacros ()
 
virtual std::string getPixelShaderName ()
 
virtual bool isPixelBlendingEnabled ()
 
virtual bool isDepthBiasEnabled ()
 
virtual std::optional< PipelineShadowMappingUsage > getShadowMappingUsage ()
 

Protected Attributes

std::set< ShaderMacro > additionalVertexShaderMacros
 
const std::string sVertexShaderName
 

Detailed Description

Base class for pipeline creation options.

Remarks
In order to specify pipeline creation settings create a new object of type that derives from this class.

Constructor & Destructor Documentation

◆ PipelineCreationSettings()

ne::PipelineCreationSettings::PipelineCreationSettings ( const std::string &  sVertexShaderName,
const std::set< ShaderMacro > &  additionalVertexShaderMacros 
)

Initializes options.

Parameters
sVertexShaderNameName of the compiled vertex shader to use.
additionalVertexShaderMacrosAdditional macros to enable for vertex shader configuration.

Member Function Documentation

◆ getAdditionalPixelShaderMacros()

virtual std::set< ShaderMacro > ne::PipelineCreationSettings::getAdditionalPixelShaderMacros ( )
inlinevirtual

Returns additional macros to enable for pixel/fragment shader configuration (if pixel/fragment shader is used).

Returns
Empty set if pixel/fragment shader is not used or no additional pixel/fragment shader macros to enable.

Reimplemented in ne::ColorPipelineCreationSettings.

◆ getAdditionalVertexShaderMacros()

std::set< ShaderMacro > ne::PipelineCreationSettings::getAdditionalVertexShaderMacros ( )
inline

Returns additional macros to enable for vertex shader configuration.

Returns
Additional vertex shader macros to enable.

◆ getPixelShaderName()

virtual std::string ne::PipelineCreationSettings::getPixelShaderName ( )
inlinevirtual

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

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

Reimplemented in ne::ColorPipelineCreationSettings, and ne::DepthPipelineCreationSettings.

◆ getShadowMappingUsage()

virtual std::optional< PipelineShadowMappingUsage > ne::PipelineCreationSettings::getShadowMappingUsage ( )
inlinevirtual

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 in ne::DepthPipelineCreationSettings.

◆ getType()

virtual PipelineType ne::PipelineCreationSettings::getType ( )
pure virtual

Returns type of the pipeline that the object describes.

Returns
Pipeline type.

Implemented in ne::ColorPipelineCreationSettings, and ne::DepthPipelineCreationSettings.

◆ getVertexShaderName()

std::string ne::PipelineCreationSettings::getVertexShaderName ( )
inline

Returns name of the vertex shader that should be used.

Returns
Name of the compiled shader.

◆ isDepthBiasEnabled()

virtual bool ne::PipelineCreationSettings::isDepthBiasEnabled ( )
inlinevirtual

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

Returns
true to enable, false to disable.

Reimplemented in ne::DepthPipelineCreationSettings.

◆ isPixelBlendingEnabled()

virtual bool ne::PipelineCreationSettings::isPixelBlendingEnabled ( )
inlinevirtual

Tells whether pixel blending should be enabled or not.

Returns
true to enable, false to disable.

Reimplemented in ne::ColorPipelineCreationSettings.

Member Data Documentation

◆ additionalVertexShaderMacros

std::set<ShaderMacro> ne::PipelineCreationSettings::additionalVertexShaderMacros
protected

Additional macros to enable for vertex shader configuration.

◆ sVertexShaderName

const std::string ne::PipelineCreationSettings::sVertexShaderName
protected

Name of the compiled vertex shader to use.


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