共用方式為


交集屬性結構

在 HLSL 中宣告的結構,表示固定函式三角形交集的點擊屬性,或程式基本交集的軸對齊周框方塊。

固定函式三角形交集

下列結構會在 HLSL 中宣告,以代表固定函式三角形交集的點擊屬性:

struct BuiltInTriangleIntersectionAttributes
{
    float2 barycentrics;
};

使用固定函數三角形交集叫用的任何點擊最接近的點擊著色器,都必須使用此結構來進行點擊屬性。 給定屬性 a0、a1 和 a2 代表三角形的 3 個頂點,barycentrics.x 是 a1 的權數,而 barycentrics.y 則是 a2 的權數。 例如,應用程式可以執行下列動作來插補:a = a0 + barycentrics.x * (a1-a0) + barycentrics.y* (a2 – a0) 。

程式基本交集的軸對齊周框方塊

當座標軸對齊周框方塊用於與程式基本類型交集時,就會觸發交集著色器。 該著色器會將使用者定義的交集屬性結構提供給 ReportHit 呼叫。 與這個交集著色器相同點擊群組中系結的任何點擊和最接近的點擊著色器,都必須使用相同的結構來進行點擊屬性,即使未參考屬性也一樣。 屬性結構大小上限為 32 個位元組,定義為 D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES