CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPUShaderProgramDescriptor Struct Referencefinal

Descriptor structure for shader programs. More...

#include <CeresEngine/RenderAPI/GPUShader.hpp>

Static Public Member Functions

template<typename Processor >
static constexpr void reflect (Processor &&RTTI)
 Executes the given processor for every field of the struct.
 

Public Attributes

GPUShaderProgramStageDescriptor vertex
 Specifies the vertex shader.
 
GPUShaderProgramStageDescriptor tesselationControl
 Specifies the tessellation-control shader (also referred to as "Hull Shader").
 
GPUShaderProgramStageDescriptor tesselationEvaluation
 Specifies the tessellation-evaluation shader (also referred to as "Domain Shader").
 
GPUShaderProgramStageDescriptor geometry
 Specifies an optional geometry shader.
 
GPUShaderProgramStageDescriptor fragment
 Specifies an optional fragment shader (also referred to as "Pixel Shader").
 
GPUShaderProgramStageDescriptor compute
 Specifies the compute shader.
 
String name
 A user-facing name for the shader program.
 

Detailed Description

Descriptor structure for shader programs.

Member Function Documentation

◆ reflect()

template<typename Processor >
static constexpr void CeresEngine::GPUShaderProgramDescriptor::reflect ( Processor &&  RTTI)
inlinestaticconstexpr

Executes the given processor for every field of the struct.

Parameters
RTTIThe processor to be ran for every field.

Member Data Documentation

◆ compute

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::compute

Specifies the compute shader.

Remarks
This shader cannot be used in conjunction with any other shaders.

◆ fragment

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::fragment

Specifies an optional fragment shader (also referred to as "Pixel Shader").

Remarks
If no fragment shader is specified, generated fragments are discarded by the output merger.

◆ geometry

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::geometry

Specifies an optional geometry shader.

◆ name

String CeresEngine::GPUShaderProgramDescriptor::name

A user-facing name for the shader program.

This is only used for debugging.

◆ tesselationControl

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::tesselationControl

Specifies the tessellation-control shader (also referred to as "Hull Shader").

Remarks
If this is used, the counter part must also be specified (i.e. tesselationEvaluation).

◆ tesselationEvaluation

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::tesselationEvaluation

Specifies the tessellation-evaluation shader (also referred to as "Domain Shader").

Remarks
If this is used, the counter part must also be specified (i.e. tesselationControl).

◆ vertex

GPUShaderProgramStageDescriptor CeresEngine::GPUShaderProgramDescriptor::vertex

Specifies the vertex shader.

Remarks
Each graphics shader program must have at least a vertex shader. For a compute shader program, only a compute shader must be specified.

The documentation for this struct was generated from the following file: