Gorgon
Show / Hide Table of Contents

Class GorgonPipelineState

A pipeline state object used to set up the complete graphics pipeline for Gorgon.

Inheritance
object
GorgonPipelineState
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: Gorgon.Graphics.Core
Assembly: Gorgon.Graphics.Core.dll
Syntax
public class GorgonPipelineState
Remarks

A pipeline state object is used to define the state of the pipeline prior to drawing anything. It can be used to assign shaders, and various other states that will affect how data is rasterized on the GPU.

The pipeline state object is immutable, and as such cannot be changed directly. To create a new pipeline state object, a GorgonPipelineStateBuilder must be used.

Pipeline states are assigned to a draw call via one of the draw call builders.

Properties

| Edit this page View Source

BlendStates

Property to return the list of blending states for each render target.

Declaration
public IGorgonReadOnlyArray<GorgonBlendState> BlendStates { get; }
Property Value
Type Description
IGorgonReadOnlyArray<GorgonBlendState>
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

DepthStencilState

Property to return the depth/stencil state for the pipeline.

Declaration
public GorgonDepthStencilState DepthStencilState { get; }
Property Value
Type Description
GorgonDepthStencilState
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

DomainShader

Property to return the domain shader.

Declaration
public GorgonDomainShader DomainShader { get; }
Property Value
Type Description
GorgonDomainShader
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

GeometryShader

Property to return the geometry shader.

Declaration
public GorgonGeometryShader GeometryShader { get; }
Property Value
Type Description
GorgonGeometryShader
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

HullShader

Property to return the hull shader.

Declaration
public GorgonHullShader HullShader { get; }
Property Value
Type Description
GorgonHullShader
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

ID

Property to return the ID of the pipeline state.

Declaration
public int ID { get; }
Property Value
Type Description
int
Remarks

This is used to store a globally cached version of the pipeline state.

See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

IsAlphaToCoverageEnabled

Property to return whether alpha to coverage is enabled or not for blending.

Declaration
public bool IsAlphaToCoverageEnabled { get; }
Property Value
Type Description
bool
Remarks

This will use alpha to coverage as a multisampling technique when writing a pixel to a render target. Alpha to coverage is useful in situations where there are multiple overlapping polygons that use transparency to define edges.

The default value is false.

See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

IsIndependentBlendingEnabled

Property to return whether independent render target blending is enabled or not.

Declaration
public bool IsIndependentBlendingEnabled { get; }
Property Value
Type Description
bool
Remarks

This will specify whether to use different blending states for each render target. When this value is set to true, each render target blend state will be independent of other render target blend states. When this value is set to false, then only the blend state of the first render target is used.

The default value is false.

See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

PixelShader

Property to return the pixel shader.

Declaration
public GorgonPixelShader PixelShader { get; }
Property Value
Type Description
GorgonPixelShader
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

PrimitiveType

Property to return the topology for a primitive.

Declaration
public PrimitiveType PrimitiveType { get; }
Property Value
Type Description
PrimitiveType
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

RasterState

Property to return the rasterizer state for the pipeline.

Declaration
public GorgonRasterState RasterState { get; }
Property Value
Type Description
GorgonRasterState
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
| Edit this page View Source

VertexShader

Property to return the vertex shader.

Declaration
public GorgonVertexShader VertexShader { get; }
Property Value
Type Description
GorgonVertexShader
See Also
GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall

Extension Methods

GorgonDebugExtensions.ValidateObject<T>(T, string)
GorgonNullExtensions.AsNullable<T>(object)
GorgonNullExtensions.IfNull<T>(object, T)
GorgonNullExtensions.IsNull(object)

See Also

GorgonPipelineStateBuilder
GorgonDrawCall
GorgonDrawIndexCall
GorgonStreamOutCall
  • Edit this page
  • View Source
In this article
Back to top Copyright 2023 - Licensed under the MIT license by Michael Winsor (Tape_Worm).
Send comments on this topic to the author