Vireo  0.0
Vireo 3D Rendering Hardware Interface
GraphicPipelineConfiguration Struct Reference

Detailed Description

Parameters for creating a graphics pipeline

Manual page : Graphics Pipelines

Public Attributes

std::shared_ptr< PipelineResourcesresources
 Description of descriptor sets and push constants. More...
 
std::vector< ImageFormatcolorRenderFormats {}
 Values defining the format of color attachments used in this pipeline. More...
 
std::vector< ColorBlendDesccolorBlendDesc {}
 Blend state for each color attachment. More...
 
std::shared_ptr< VertexInputLayoutvertexInputLayout {nullptr}
 Description of the input vertices formats and order. More...
 
std::shared_ptr< ShaderModulevertexShader {nullptr}
 Vertex shader. More...
 
std::shared_ptr< ShaderModulefragmentShader {nullptr}
 Fragment/Pixel shader. More...
 
std::shared_ptr< ShaderModulehullShader {nullptr}
 Tessellation control/Hull shader. More...
 
std::shared_ptr< ShaderModuledomainShader {nullptr}
 Tessellation evaluation/Domain shader. More...
 
std::shared_ptr< ShaderModulegeometryShader {nullptr}
 Geometry shader. More...
 
PrimitiveTopology primitiveTopology {PrimitiveTopology::TRIANGLE_LIST}
 The primitive topology. More...
 
MSAA msaa {MSAA::NONE}
 The number of samples used in rasterization. More...
 
CullMode cullMode {CullMode::NONE}
 The triangle facing direction used for primitive culling. More...
 
PolygonMode polygonMode {PolygonMode::FILL}
 The triangle rendering mode. More...
 
bool frontFaceCounterClockwise {true}
 The front-facing triangle orientation to be used for culling. More...
 
ImageFormat depthStencilImageFormat {ImageFormat::D32_SFLOAT}
 The format of the depth attachment used in this pipeline. More...
 
bool depthTestEnable {false}
 Controls whether depth testing is enabled. More...
 
bool depthWriteEnable {false}
 Controls whether depth writes are enabled when depthTestEnable is true. Depth writes are always disabled when depthTestEnable is false. More...
 
CompareOp depthCompareOp {CompareOp::LESS_OR_EQUAL}
 Value specifying the comparison operator to use in the Depth Comparison step of the depth test. More...
 
bool depthBiasEnable {false}
 Controls whether to bias fragment depth values. More...
 
float depthBiasConstantFactor {0.0f}
 A scalar factor controlling the constant depth value added to each fragment. More...
 
float depthBiasClamp {0.0f}
 The maximum (or minimum) depth bias of a fragment. More...
 
float depthBiasSlopeFactor {0.0f}
 A scalar factor applied to a fragment’s slope in depth bias calculations. More...
 
bool stencilTestEnable {false}
 Controls whether stencil testing is enabled. More...
 
StencilOpState frontStencilOpState {}
 value controlling the corresponding parameters of the stencil test. More...
 
StencilOpState backStencilOpState {}
 value controlling the corresponding parameters of the stencil test. More...
 
bool logicOpEnable {false}
 Controls whether to apply Logical Operations. More...
 
LogicOp logicOp {LogicOp::NOOP}
 Which logical operation to apply. More...
 
bool alphaToCoverageEnable {false}
 Controls whether a temporary coverage value is generated based on the alpha component of the fragment’s first color output. More...
 

Member Data Documentation

bool alphaToCoverageEnable {false}

Controls whether a temporary coverage value is generated based on the alpha component of the fragment’s first color output.

StencilOpState backStencilOpState {}

value controlling the corresponding parameters of the stencil test.

std::vector<ColorBlendDesc> colorBlendDesc {}

Blend state for each color attachment.

std::vector<ImageFormat> colorRenderFormats {}

Values defining the format of color attachments used in this pipeline.

CullMode cullMode {CullMode::NONE}

The triangle facing direction used for primitive culling.

float depthBiasClamp {0.0f}

The maximum (or minimum) depth bias of a fragment.

float depthBiasConstantFactor {0.0f}

A scalar factor controlling the constant depth value added to each fragment.

bool depthBiasEnable {false}

Controls whether to bias fragment depth values.

float depthBiasSlopeFactor {0.0f}

A scalar factor applied to a fragment’s slope in depth bias calculations.

CompareOp depthCompareOp {CompareOp::LESS_OR_EQUAL}

Value specifying the comparison operator to use in the Depth Comparison step of the depth test.

ImageFormat depthStencilImageFormat {ImageFormat::D32_SFLOAT}

The format of the depth attachment used in this pipeline.

bool depthTestEnable {false}

Controls whether depth testing is enabled.

bool depthWriteEnable {false}

Controls whether depth writes are enabled when depthTestEnable is true. Depth writes are always disabled when depthTestEnable is false.

std::shared_ptr<ShaderModule> domainShader {nullptr}

Tessellation evaluation/Domain shader.

std::shared_ptr<ShaderModule> fragmentShader {nullptr}

Fragment/Pixel shader.

bool frontFaceCounterClockwise {true}

The front-facing triangle orientation to be used for culling.

StencilOpState frontStencilOpState {}

value controlling the corresponding parameters of the stencil test.

std::shared_ptr<ShaderModule> geometryShader {nullptr}

Geometry shader.

std::shared_ptr<ShaderModule> hullShader {nullptr}

Tessellation control/Hull shader.

LogicOp logicOp {LogicOp::NOOP}

Which logical operation to apply.

bool logicOpEnable {false}

Controls whether to apply Logical Operations.

MSAA msaa {MSAA::NONE}

The number of samples used in rasterization.

PolygonMode polygonMode {PolygonMode::FILL}

The triangle rendering mode.

PrimitiveTopology primitiveTopology {PrimitiveTopology::TRIANGLE_LIST}

The primitive topology.

std::shared_ptr<PipelineResources> resources

Description of descriptor sets and push constants.

bool stencilTestEnable {false}

Controls whether stencil testing is enabled.

std::shared_ptr<VertexInputLayout> vertexInputLayout {nullptr}

Description of the input vertices formats and order.

std::shared_ptr<ShaderModule> vertexShader {nullptr}

Vertex shader.