targetRenderer | 要添加到 RayTracingAccelerationStructure 的 Renderer。 |
enableTriangleCulling | 一个布尔值,指示是否为该光线追踪实例启用正面/背面剔除。剔除在 GPU 执行射线-三角形相交测试时发生。默认情况下启用剔除(true)。 |
frontTriangleCounterClockwise | 一个布尔值,指示是否翻转此光线追踪实例中三角形的朝向。如果将其设置为 true,则正面三角形将变为背面三角形,反之亦然。默认设置为 false。 |
mask | 一个 8 位掩码,您可以使用它来选择性地与仅通过掩码的光线相交与目标 Renderer 关联的光线追踪实例。默认情况下启用所有光线 (0xff)。 |
subMeshFlags | 控制射线与子网格几何体相交时着色器执行行为的标志列表。有关更多信息,请参阅 RayTracingSubMeshFlags。 |
id | 一个可选的实例 ID 值,可以使用 InstanceID() HLSL 函数访问。 |
int 表示句柄的值,您可以使用它执行后续操作(例如 RemoveInstance)。
将光线追踪实例添加到 RayTracingAccelerationStructure。
加速结构中的光线追踪实例包含一个 8 位用户定义的实例掩码。 TraceRay()
HLSL 函数有一个 8 位输入参数 InstanceInclusionMask
,它与在 GPU 上遍历加速结构期间作为相交候选者的任何光线追踪实例的实例掩码进行 AND 操作。如果 AND 操作的结果为零,则忽略相交。
添加所有必需的实例后,请使用 RayTracingAccelerationStructure.Build 或 CommandBuffer.BuildRayTracingAccelerationStructure 在 GPU 上构建加速结构。
其他资源:RayTracingAccelerationStructure.RemoveInstance、RayTracingSubMeshFlags。
config | 此网格光线追踪实例使用的通用参数。 |
matrix | 光线追踪实例的变换矩阵。 |
prevMatrix | 光线追踪实例的前一帧变换矩阵,您可以使用它在着色器代码中计算运动向量。 |
id | 一个可选的实例 ID 值,您可以使用 InstanceID() HLSL 函数访问。 |
int 表示句柄的值,您可以使用它执行后续操作(例如 RemoveInstance、UpdateInstancePropertyBlock 或 UpdateInstanceTransform)。
将与 Mesh 关联的光线追踪实例添加到 RayTracingAccelerationStructure。
config 函数参数指定相关的 Mesh 和关联参数。
添加所有必需的实例后,请使用 RayTracingAccelerationStructure.Build 或 CommandBuffer.BuildRayTracingAccelerationStructure 在 GPU 上构建加速结构。
其他资源:RayTracingAccelerationStructure.RemoveInstance、RayTracingShader.Dispatch。
config | 此几何体光线追踪实例使用的通用参数。 |
matrix | 光线追踪实例的变换矩阵。 |
prevMatrix | 光线追踪实例的前一帧变换矩阵,您可以使用它在着色器代码中计算运动向量。 |
id | 一个可选的实例 ID 值,您可以使用 InstanceID() HLSL 函数访问。 |
int 表示句柄的值,您可以使用它执行后续操作(例如 RemoveInstance、UpdateInstancePropertyBlock 或 UpdateInstanceTransform)。
将光线追踪实例添加到 RayTracingAccelerationStructure。
config 函数参数指定相关的三角形几何体数据(顶点和索引缓冲区)以及关联参数。
添加所有必需的实例后,请使用 RayTracingAccelerationStructure.Build 或 CommandBuffer.BuildRayTracingAccelerationStructure 在 GPU 上构建加速结构。
其他资源:RayTracingAccelerationStructure.RemoveInstance、RayTracingShader.Dispatch。
config | 此 AABBs 光线追踪实例使用的通用参数。 |
matrix | 光线追踪实例的变换矩阵。 |
id | 一个可选的实例 ID 值,您可以使用 InstanceID() HLSL 函数访问。 |
int 表示句柄的值,可用于执行后续操作(例如 RemoveInstance、UpdateInstancePropertyBlock 或 UpdateInstanceTransform)。
将与轴对齐包围盒 (AABB) 列表关联的光线追踪实例添加到 RayTracingAccelerationStructure,以便使用相交着色器生成过程几何体。
在您将 config.aabbBuffer 参数设置为的 GraphicsBuffer 中定义 AABB 列表。Unity 使用 AABB 为此光线追踪实例构建加速结构。
AABB 在局部空间中定义,可以使用 matrix 参数进行转换。使用 RayTracingAccelerationStructure.UpdateInstanceTransform 在以后更新光线追踪实例的变换。
当调用此函数时,Unity 会将 config.materialProperties 参数中的 MaterialPropertyBlock 内容复制到光线追踪实例中。不会考虑作为参数传递的 MaterialPropertyBlock 对象的任何后续更改。使用 RayTracingAccelerationStructure.UpdateInstancePropertyBlock 在以后再次更新属性。
当射线在光线追踪调度期间与列表中的一个 AABB 相交时,GPU 会调用一个相交着色器。您可以使用 PrimitiveIndex()
HLSL 函数检索加速结构中离散 AABB 的索引。
添加所有必需的实例后,请使用 RayTracingAccelerationStructure.Build 或 CommandBuffer.BuildRayTracingAccelerationStructure 在 GPU 上构建加速结构。
其他资源:RayTracingAccelerationStructure.RemoveInstance、RayTracingShader.Dispatch。
已弃用。请使用替代方法将 Renderer 添加到加速结构。
已弃用。请使用替代方法将过程几何体 (AABB) 添加到加速结构。
已弃用。请使用替代方法将过程几何体 (AABB) 添加到加速结构。