GraphicsAPI reference
Class PipelineDescription
Namespace: MicroEngine.Graphics.Devices
Assembly: MicroEngine.Graphics.dll
Guide: The graphics device
A custom pipeline: requires Shaders. The pipeline is bound to the attachment formats
it renders to: a pass accepts it only when its colour format equals ColorFormat and its depth
attachment format equals DepthFormat (null = the pass has no depth attachment).
public sealed record PipelineDescription : IEquatable<PipelineDescription>Inheritance
Implements
IEquatable<PipelineDescription>
Constructors
PipelineDescription(Shader, Shader, VertexLayout, BlendState, DepthState, RasterState, TextureFormat, TextureFormat?)
A custom pipeline: requires Shaders. The pipeline is bound to the attachment formats
it renders to: a pass accepts it only when its colour format equals ColorFormat and its depth
attachment format equals DepthFormat (null = the pass has no depth attachment).
public PipelineDescription(Shader Vertex, Shader Fragment, VertexLayout Layout, BlendState Blend, DepthState Depth, RasterState Raster, TextureFormat ColorFormat, TextureFormat? DepthFormat)Parameters
Vertex Shader
Vertex shader.
Fragment Shader
Fragment shader.
Layout VertexLayout
Vertex layout.
Blend BlendState
Blend state (any state: tier 1 declares CustomBlend).
Depth DepthState
Depth state; anything but None requires a DepthFormat.
Raster RasterState
Rasterizer state.
ColorFormat TextureFormat
Format of the colour attachment.
DepthFormat TextureFormat?
Format of the depth attachment, or null.
Properties
Blend
Blend state (any state: tier 1 declares CustomBlend).
public BlendState Blend { get; init; }Property Value
ColorFormat
Format of the colour attachment.
public TextureFormat ColorFormat { get; init; }Property Value
Depth
Depth state; anything but None requires a DepthFormat.
public DepthState Depth { get; init; }Property Value
DepthFormat
Format of the depth attachment, or null.
public TextureFormat? DepthFormat { get; init; }Property Value
Fragment
Fragment shader.
public Shader Fragment { get; init; }Property Value
Layout
Vertex layout.
public VertexLayout Layout { get; init; }Property Value
Raster
Rasterizer state.
public RasterState Raster { get; init; }Property Value
Vertex
Vertex shader.
public Shader Vertex { get; init; }Property Value
Methods
<Clone>$()
public PipelineDescription <Clone>$()Returns
Deconstruct(out Shader, out Shader, out VertexLayout, out BlendState, out DepthState, out RasterState, out TextureFormat, out TextureFormat?)
public void Deconstruct(out Shader Vertex, out Shader Fragment, out VertexLayout Layout, out BlendState Blend, out DepthState Depth, out RasterState Raster, out TextureFormat ColorFormat, out TextureFormat? DepthFormat)Parameters
Vertex Shader
Fragment Shader
Layout VertexLayout
Blend BlendState
Depth DepthState
Raster RasterState
ColorFormat TextureFormat
DepthFormat TextureFormat?
Equals(object?)
public override bool Equals(object? obj)Parameters
obj object?
Returns
Equals(PipelineDescription?)
public bool Equals(PipelineDescription? other)Parameters
other PipelineDescription?
Returns
GetHashCode()
public override int GetHashCode()Returns
ToString()
public override string ToString()Returns
Operators
operator ==(PipelineDescription?, PipelineDescription?)
public static bool operator ==(PipelineDescription? left, PipelineDescription? right)Parameters
left PipelineDescription?
right PipelineDescription?
Returns
operator !=(PipelineDescription?, PipelineDescription?)
public static bool operator !=(PipelineDescription? left, PipelineDescription? right)Parameters
left PipelineDescription?
right PipelineDescription?