Table of Contents

Struct ShaderSetDescription

Namespace
NeoVeldrid
Assembly
NeoVeldrid.dll

A Pipeline component describing a full set of shader stages and vertex layouts.

public struct ShaderSetDescription : IEquatable<ShaderSetDescription>
Implements
Inherited Members

Constructors

ShaderSetDescription(VertexLayoutDescription[], Shader[])

Constructs a new ShaderSetDescription.

public ShaderSetDescription(VertexLayoutDescription[] vertexLayouts, Shader[] shaders)

Parameters

vertexLayouts VertexLayoutDescription[]

An array of VertexLayoutDescription describing the set of vertex layouts understood by the Pipeline. Each element in this array describes the input layout of a single DeviceBuffer to be bound when drawing.

shaders Shader[]

An array of Shader objects, one for each shader stage which is to be active in the Pipeline. At a minimum, every graphics Pipeline must include a Vertex and Fragment shader. All other stages are optional, but if either Tessellation stage is present, then the other must also be.

ShaderSetDescription(VertexLayoutDescription[], Shader[], SpecializationConstant[])

Constructs a new ShaderSetDescription.

public ShaderSetDescription(VertexLayoutDescription[] vertexLayouts, Shader[] shaders, SpecializationConstant[] specializations)

Parameters

vertexLayouts VertexLayoutDescription[]

An array of VertexLayoutDescription describing the set of vertex layouts understood by the Pipeline. Each element in this array describes the input layout of a single DeviceBuffer to be bound when drawing.

shaders Shader[]

An array of Shader objects, one for each shader stage which is to be active in the Pipeline. At a minimum, every graphics Pipeline must include a Vertex and Fragment shader. All other stages are optional, but if either Tessellation stage is present, then the other must also be.

specializations SpecializationConstant[]

An array of SpecializationConstant used to override specialization constants in the created Pipeline. Each element in this array describes a single ID-value pair, which will be matched with the constants specified in each Shader.

Fields

Shaders

An array of Shader objects, one for each shader stage which is to be active in the Pipeline. At a minimum, every graphics Pipeline must include a Vertex and Fragment shader. All other stages are optional, but if either Tessellation stage is present, then the other must also be.

public Shader[] Shaders

Field Value

Shader[]

Specializations

An array of SpecializationConstant used to override specialization constants in the created Pipeline. Each element in this array describes a single ID-value pair, which will be matched with the constants specified in each Shader.

public SpecializationConstant[] Specializations

Field Value

SpecializationConstant[]

VertexLayouts

An array of VertexLayoutDescription describing the set of vertex layouts understood by the Pipeline. Each element in this array describes the input layout of a single DeviceBuffer to be bound when drawing.

public VertexLayoutDescription[] VertexLayouts

Field Value

VertexLayoutDescription[]

Methods

Equals(ShaderSetDescription)

Element-wise equality.

public bool Equals(ShaderSetDescription other)

Parameters

other ShaderSetDescription

The instance to compare to.

Returns

bool

True if all array elements are equal; false otherswise.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.