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

#include <PipelineConfiguration.h>

Inheritance diagram for ne::ColorPipelineConfiguration:
ne::PipelineConfiguration

Public Member Functions

 ColorPipelineConfiguration (const std::string &sVertexShaderName, const std::set< ShaderMacro > &requiredVertexShaderMacros, const std::string &sFragmentShaderName, const std::set< ShaderMacro > &requiredFragmentShaderMacros, bool bUsePixelBlending)
 
virtual std::optional< GraphicsPipelineType > getGraphicsType () const override
 
virtual std::set< ShaderMacro > getRequiredFragmentShaderMacros () const override
 
virtual std::string_view getFragmentShaderName () const override
 
virtual bool isPixelBlendingEnabled () const override
 
- Public Member Functions inherited from ne::PipelineConfiguration
std::set< ShaderMacro > getRequiredVertexShaderMacros () const
 
virtual std::set< ShaderMacro > getRequiredFragmentShaderMacros () const
 
std::string_view getVertexShaderName () const
 
virtual std::optional< GraphicsPipelineType > getGraphicsType () const =0
 
virtual std::string_view getFragmentShaderName () const
 
virtual std::string_view getComputeShaderName () const
 
virtual bool isPixelBlendingEnabled () const
 
virtual bool isDepthBiasEnabled () const
 
virtual std::optional< PipelineShadowMappingUsage > getShadowMappingUsage () const
 

Protected Attributes

std::set< ShaderMacro > requiredFragmentShaderMacros
 
const std::string sFragmentShaderName
 
const bool bUsePixelBlending
 
- Protected Attributes inherited from ne::PipelineConfiguration
std::set< ShaderMacro > requiredVertexShaderMacros
 
const std::string sVertexShaderName
 

Additional Inherited Members

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

Detailed Description

Pipeline that uses pixel/fragment shaders to draw color.

Constructor & Destructor Documentation

◆ ColorPipelineConfiguration()

ne::ColorPipelineConfiguration::ColorPipelineConfiguration ( const std::string &  sVertexShaderName,
const std::set< ShaderMacro > &  requiredVertexShaderMacros,
const std::string &  sFragmentShaderName,
const std::set< ShaderMacro > &  requiredFragmentShaderMacros,
bool  bUsePixelBlending 
)

Initializes options.

Parameters
sVertexShaderNameName of the compiled vertex shader to use.
requiredVertexShaderMacrosMacros required to be defined for a vertex shader. These macros are used to request the required shader variant from a shader pack.
sFragmentShaderNameName of the compiled fragment/pixel shader to use.
requiredFragmentShaderMacrosMacros required to be defined for a fragment/pixel shader. These macros are used to request the required shader variant from a shader pack.
bUsePixelBlendingtrue to enable transparency, false to disable.

Member Function Documentation

◆ getFragmentShaderName()

std::string_view ne::ColorPipelineConfiguration::getFragmentShaderName ( ) 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.

◆ getGraphicsType()

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

Returns type of the pipeline that the object describes.

Returns
Pipeline type.

Implements ne::PipelineConfiguration.

◆ getRequiredFragmentShaderMacros()

std::set< ShaderMacro > ne::ColorPipelineConfiguration::getRequiredFragmentShaderMacros ( ) const
overridevirtual

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

Returns
Macros.

Reimplemented from ne::PipelineConfiguration.

◆ isPixelBlendingEnabled()

bool ne::ColorPipelineConfiguration::isPixelBlendingEnabled ( ) const
overridevirtual

Tells whether pixel blending should be enabled or not.

Returns
true to enable, false to disable.

Reimplemented from ne::PipelineConfiguration.

Member Data Documentation

◆ bUsePixelBlending

const bool ne::ColorPipelineConfiguration::bUsePixelBlending
protected

true to enable transparency, false to disable.

◆ requiredFragmentShaderMacros

std::set<ShaderMacro> ne::ColorPipelineConfiguration::requiredFragmentShaderMacros
protected

Macros required to be defined for a fragment shader.

Remarks
These macros are used to request the required shader variant from a shader pack.

◆ sFragmentShaderName

const std::string ne::ColorPipelineConfiguration::sFragmentShaderName
protected

Name of the compiled fragment/pixel shader to use.


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