次の方法で共有


積集合属性構造体

固定関数三角形交差のヒット属性を表すために HLSL で宣言された構造体、または手続き型プリミティブ交差の軸揃え境界ボックス。

固定関数三角形交差

次の構造体は、固定関数の三角形交差のヒット属性を表すために HLSL で宣言されています。

struct BuiltInTriangleIntersectionAttributes
{
    float2 barycentrics;
};

固定関数の三角形交差を使用して呼び出されるヒット シェーダーと最も近いヒット シェーダーでは、ヒット属性にこの構造を使用する必要があります。 三角形の 3 つの頂点に対する属性 a0、a1、a2 を指定すると、barycentrics.x は a1 の重みになり、barycentrics.y は a2 の重みになります。 たとえば、アプリは、 = a0 + barycentrics.x * (a1-a0) + barycentrics.y* (a2 – a0) を実行することで補間できます。

手続き型プリミティブ交差の軸揃え境界ボックス

手続き型プリミティブとの交差に軸揃え境界ボックスを使用すると、交差シェーダーがトリガーされます。 そのシェーダーは、 ReportHit 呼び出しにユーザー定義の交差属性構造を提供します。 この交差シェーダーで同じヒット グループにバインドされているヒット シェーダーと最も近いヒット シェーダーは、属性が参照されていない場合でも、ヒット属性に同じ構造を使用する必要があります。 属性構造体の最大サイズは 32 バイトで、 D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTESとして定義されます。