Show / Hide Table of Contents

Struct ShaderSetDescription

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

Implements
System.IEquatable<ShaderSetDescription>
Inherited Members
System.ValueType.Equals(System.Object)
System.ValueType.ToString()
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()
Namespace: Veldrid
Assembly: cs.temp.dll.dll
Syntax
public struct ShaderSetDescription : IEquatable<ShaderSetDescription>

Constructors

ShaderSetDescription(VertexLayoutDescription[], Shader[])

Constructs a new ShaderSetDescription.

Declaration
public ShaderSetDescription(VertexLayoutDescription[] vertexLayouts, Shader[] shaders)
Parameters
Type Name Description
VertexLayoutDescription[] 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.

Shader[] 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.

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

Constructs a new ShaderSetDescription.

Declaration
public ShaderSetDescription(VertexLayoutDescription[] vertexLayouts, Shader[] shaders, SpecializationConstant[] specializations)
Parameters
Type Name Description
VertexLayoutDescription[] 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.

Shader[] 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.

SpecializationConstant[] 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.

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.

Declaration
public Shader[] Shaders
Field Value
Type Description
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.

Declaration
public SpecializationConstant[] Specializations
Field Value
Type Description
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.

Declaration
public VertexLayoutDescription[] VertexLayouts
Field Value
Type Description
VertexLayoutDescription[]

Methods

Equals(ShaderSetDescription)

Element-wise equality.

Declaration
public bool Equals(ShaderSetDescription other)
Parameters
Type Name Description
ShaderSetDescription other

The instance to compare to.

Returns
Type Description
System.Boolean

True if all array elements are equal; false otherswise.

GetHashCode()

Returns the hash code for this instance.

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32

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

Overrides
System.ValueType.GetHashCode()

Implements

System.IEquatable<T>
Back to top