Direct3D 12 光线跟踪 HLSL 系统值内部函数

使用特殊的内部函数检索系统值,而不是在着色器函数签名中包含具有特殊语义的参数。

在本节中

光线调度系统值

主题 说明
DispatchRaysIndex 获取使用 DispatchRaysDimensions 系统值内部函数获取的宽度和高度内的当前 x 和 y 位置。
DispatchRaysDimensions 原始 DispatchRays 调用中指定的D3D12_DISPATCH_RAYS_DESC结构的宽度、高度和深度值。

光线系统值

主题 说明
WorldRayOrigin 当前射线的世界空间原点。
WorldRayDirection 当前射线的世界空间方向。
RayTMin 表示射线的当前参数起点的浮点。
RayTCurrent 表示射线的当前参数化终点的浮点。
RayFlags 包含当前 ray_flag标志的 无符号整数。

基元/对象空间系统值

主题 说明
InstanceIndex 顶级光线跟踪加速结构中当前实例的自动生成的索引。
InstanceID 顶级结构中底层加速结构实例上实例的用户提供的标识符。
PrimitiveIndex 底层加速结构实例中几何图形中基元的自动生成索引。
ObjectRayOrigin 当前光线的对象空间原点。
ObjectRayDirection 当前光线的对象空间方向。
ObjectToWorld3x4 用于从对象空间转换到世界空间的矩阵。
ObjectToWorld4x3 用于从对象空间转换到世界空间的矩阵。
WorldToObject3x4 用于从世界空间转换到对象空间的矩阵
WorldToObject4x3 用于从世界空间转换到对象空间的矩阵

命中特定的系统值

主题 说明
HitKind 返回作为 HitKind 参数传递给 ReportHit 的值。