docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct MeshInstanceDesc

    Parameters used to configure the creation of instances that are part of a IRayTracingAccelStruct.

    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.Rendering.UnifiedRayTracing
    Assembly: Unity.UnifiedRayTracing.Runtime.dll
    Syntax
    public struct MeshInstanceDesc

    Constructors

    MeshInstanceDesc(Mesh, int)

    Creates a MeshInstanceDesc.

    Declaration
    public MeshInstanceDesc(Mesh mesh, int subMeshIndex = 0)
    Parameters
    Type Name Description
    Mesh mesh

    The Mesh used to build this instance's geometry.

    int subMeshIndex

    The index of the sub-mesh (MeshInstanceDesc references a single sub-mesh).

    Fields

    enableTriangleCulling

    Whether front/back face culling for this ray tracing instance is enabled. Default value: true.

    Declaration
    public bool enableTriangleCulling
    Field Value
    Type Description
    bool

    frontTriangleCounterClockwise

    Whether to flip the way triangles face in this ray tracing instance. Default value: false.

    Declaration
    public bool frontTriangleCounterClockwise
    Field Value
    Type Description
    bool

    instanceID

    Instance identifier. Can be accessed in the HLSL via the instanceID member of Hit (Hit is returned by the TraceRayClosestHit/TraceRayAnyHit HLSL functions).

    Declaration
    public uint instanceID
    Field Value
    Type Description
    uint

    localToWorldMatrix

    The transformation matrix of the instance.

    Declaration
    public Matrix4x4 localToWorldMatrix
    Field Value
    Type Description
    Matrix4x4

    mask

    The instance mask.

    Declaration
    public uint mask
    Field Value
    Type Description
    uint
    Remarks

    Instances in the acceleration structure contain an 8-bit user defined instance mask. The TraceRayClosestHit/TraceRayAnyHit HLSL functions have an 8-bit input parameter, InstanceInclusionMask which gets ANDed with the instance mask from any instance that is a candidate for intersection during acceleration structure traversal on the GPU. If the result of the AND operation is zero, the GPU ignores the intersection.

    mesh

    The Mesh used to build this instance's geometry.

    Declaration
    public Mesh mesh
    Field Value
    Type Description
    Mesh

    opaqueGeometry

    Whether the geometry is considered opaque. Default value: true.

    Declaration
    public bool opaqueGeometry
    Field Value
    Type Description
    bool
    Remarks

    When an instance's opaqueGeometry field is set to false, the AnyHitExecute shader function will be invoked during the ray traversal when a hit is found. This alows the user to programmatically decide whether to reject or accept the candidate hit. This feature can, for example, be used to implement alpha cutout transparency. For best performance, prefer to set this parameter to false for as many geometries as possibe.

    subMeshIndex

    The index of the sub-mesh (MeshInstanceDesc references a single sub-mesh).

    Declaration
    public int subMeshIndex
    Field Value
    Type Description
    int

    Extension Methods

    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, T)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)