Struct ShaderSetDescription
A Pipeline component describing a full set of shader stages and vertex layouts.
Implements
Inherited Members
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. |