Search Results for

    Show / Hide Table of Contents

    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

    true if the specified object is equal to this instance; otherwise, false.

    Overrides
    ValueType.Equals(object)

    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
    ValueType.GetHashCode()

    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.

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX