Struct RaytracingPipelineDescription
Contains properties that describe the characteristics of a new pipeline state object.
Implements
Inherited Members
Namespace: Evergine.Common.Graphics.Raytracing
Assembly: Evergine.Common.dll
Syntax
public struct RaytracingPipelineDescription : IEquatable<RaytracingPipelineDescription>
Constructors
RaytracingPipelineDescription(ResourceLayout[], RaytracingShaderStateDescription, HitGroupDescription[], uint, uint, uint)
Initializes a new instance of the RaytracingPipelineDescription struct.
Declaration
public RaytracingPipelineDescription(ResourceLayout[] resourceLayouts, RaytracingShaderStateDescription shaderDescription, HitGroupDescription[] hitGroupDescriptions, uint maxRecursionDepth, uint maxPayloadSize, uint maxAttributeSize)
Parameters
Type | Name | Description |
---|---|---|
ResourceLayout[] | resourceLayouts | The resources layout description. |
RaytracingShaderStateDescription | shaderDescription | The raytracing shader. |
HitGroupDescription[] | hitGroupDescriptions | The hit group descriptions. |
uint | maxRecursionDepth | Max Recursion Depth. |
uint | maxPayloadSize | Max Payload Size. |
uint | maxAttributeSize | Max Attribute Size. |
Fields
HitGroups
Gets or sets the raytracing hit groups.
Declaration
public HitGroupDescription[] HitGroups
Field Value
Type | Description |
---|---|
HitGroupDescription[] |
MaxAttributeSizeInBytes
The maximum number of scalars (counted as 4 bytes each) that can be used for attributes in pipelines that contain this shader. The value cannot exceed D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES constant (https://microsoft.github.io/DirectX-Specs/d3d/Raytracing.html#constants).
Declaration
public uint MaxAttributeSizeInBytes
Field Value
Type | Description |
---|---|
uint |
MaxPayloadSizeInBytes
The maximum storage for scalars (counted as 4 bytes each) in ray payloads in raytracing pipelines that contain this program. Callable shader payloads are not part of this limit. This field is ignored for payloads that use payload access qualifiers.
Declaration
public uint MaxPayloadSizeInBytes
Field Value
Type | Description |
---|---|
uint |
MaxTraceRecursionDepth
Limit on ray recursion for the raytracing pipeline. It must be in the range of 0 to 31. Below the maximum recursion depth, shader invocations such as closest hit or miss shaders can call TraceRay any number of times. At the maximum recursion depth, TraceRay calls result in the device going into removed state.
Declaration
public uint MaxTraceRecursionDepth
Field Value
Type | Description |
---|---|
uint |
ResourceLayouts
Describes the resources layout input.
Declaration
public ResourceLayout[] ResourceLayouts
Field Value
Type | Description |
---|---|
ResourceLayout[] |
Shaders
Gets or sets the raytracing shader program.
Declaration
public RaytracingShaderStateDescription Shaders
Field Value
Type | Description |
---|---|
RaytracingShaderStateDescription |
Methods
Equals(RaytracingPipelineDescription)
Returns a hash code for this instance.
Declaration
public bool Equals(RaytracingPipelineDescription other)
Parameters
Type | Name | Description |
---|---|---|
RaytracingPipelineDescription | other | Other used to compare. |
Returns
Type | Description |
---|---|
bool | A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. |
Equals(object)
Determines whether the specified object is equal to this instance.
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | The object to compare with this instance. |
Returns
Type | Description |
---|---|
bool |
|
Overrides
GetHashCode()
Returns a hash code for this instance.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. |
Overrides
Operators
operator ==(RaytracingPipelineDescription, RaytracingPipelineDescription)
Implements the operator ==.
Declaration
public static bool operator ==(RaytracingPipelineDescription value1, RaytracingPipelineDescription value2)
Parameters
Type | Name | Description |
---|---|---|
RaytracingPipelineDescription | value1 | The value1. |
RaytracingPipelineDescription | value2 | The value2. |
Returns
Type | Description |
---|---|
bool | The result of the operator. |
operator !=(RaytracingPipelineDescription, RaytracingPipelineDescription)
Implements the operator ==.
Declaration
public static bool operator !=(RaytracingPipelineDescription value1, RaytracingPipelineDescription value2)
Parameters
Type | Name | Description |
---|---|---|
RaytracingPipelineDescription | value1 | The value1. |
RaytracingPipelineDescription | value2 | The value2. |
Returns
Type | Description |
---|---|
bool | The result of the operator. |