Struct RaytracingPipelineDescription
Contains properties that describe the characteristics of a new pipeline state object.
Namespace: Evergine.Common.Graphics.Raytracing
Assembly: Evergine.Common.dll
Syntax
public struct 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 resource layout description. |
| RaytracingShaderStateDescription | shaderDescription | The raytracing shader description. |
| HitGroupDescription[] | hitGroupDescriptions | The hit group descriptions. |
| uint | maxRecursionDepth | The maximum recursion depth. |
| uint | maxPayloadSize | The maximum payload size. |
| uint | maxAttributeSize | The maximum attribute size. |
Fields
HitGroups
Gets or sets the ray tracing 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 the 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 entering the removed state.
Declaration
public uint MaxTraceRecursionDepth
Field Value
| Type | Description |
|---|---|
| uint |
ResourceLayouts
Describes the layout of resource inputs.
Declaration
public ResourceLayout[] ResourceLayouts
Field Value
| Type | Description |
|---|---|
| ResourceLayout[] |
Shaders
Gets or sets the ray tracing 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 | Used to compare another instance. |
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 first value. |
| RaytracingPipelineDescription | value2 | The second value. |
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 first value. |
| RaytracingPipelineDescription | value2 | The second value. |
Returns
| Type | Description |
|---|---|
| bool | The result of the operator. |