Skip to content

GraphicsAPI reference

Class Pipeline

Namespace: MicroEngine.Graphics.Devices
Assembly: MicroEngine.Graphics.dll
Guide: The graphics device

A graphics pipeline: built-in (device-owned) or custom.

C#
public abstract class Pipeline : GraphicsResource, IDisposable

Inheritance

object ← GraphicsResource ← Pipeline

Implements

IDisposable

Inherited Members

GraphicsResource.Dispose(), GraphicsResource.Release(), GraphicsResource.Expire(), GraphicsResource.MarkLost(), GraphicsResource.Device, GraphicsResource.Name, GraphicsResource.Handle, GraphicsResource.IsDisposed, GraphicsResource.IsLost, GraphicsResource.OwnedBy, object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Constructors

Pipeline(IGraphicsDevice, BuiltInPipeline?, VertexLayout, BlendState, TextureFormat, TextureFormat?, ShaderResources, ShaderResources)

Creates the pipeline object.

C#
protected Pipeline(IGraphicsDevice device, BuiltInPipeline? builtIn, VertexLayout layout, BlendState blend, TextureFormat colorFormat, TextureFormat? depthFormat, ShaderResources vertexResources, ShaderResources fragmentResources)

Parameters

device IGraphicsDevice

builtIn BuiltInPipeline?

layout VertexLayout

blend BlendState

colorFormat TextureFormat

depthFormat TextureFormat?

vertexResources ShaderResources

fragmentResources ShaderResources

Properties

Blend

Blend state.

C#
public BlendState Blend { get; }

Property Value

BlendState

BuiltIn

The built-in kind, or null for a custom pipeline.

C#
public BuiltInPipeline? BuiltIn { get; }

Property Value

BuiltInPipeline?

ColorFormat

Colour attachment format the pipeline renders to.

C#
public TextureFormat ColorFormat { get; }

Property Value

TextureFormat

DepthFormat

Depth attachment format, or null for passes without depth.

C#
public TextureFormat? DepthFormat { get; }

Property Value

TextureFormat?

FragmentResources

Fragment-stage resources (built-ins: one sampler).

C#
public ShaderResources FragmentResources { get; }

Property Value

ShaderResources

Layout

Vertex layout (Vertex2D for built-ins).

C#
public VertexLayout Layout { get; }

Property Value

VertexLayout

OwnedBy

When not null, Dispose throws InvalidOperationException with this text: device-owned objects (built-in pipelines, a render target’s colour texture, the surface target) are not disposed by callers.

C#
protected override string? OwnedBy { get; }

Property Value

string?

VertexResources

Vertex-stage resources (built-ins: none visible to callers).

C#
public ShaderResources VertexResources { get; }

Property Value

ShaderResources