在 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。