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. |