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
vertexLayoutsVertexLayoutDescription[]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.
shadersShader[]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
vertexLayoutsVertexLayoutDescription[]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.
shadersShader[]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.
specializationsSpecializationConstant[]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
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
Methods
Equals(ShaderSetDescription)
Element-wise equality.
public bool Equals(ShaderSetDescription other)
Parameters
otherShaderSetDescriptionThe 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.