D3D12DDI_HIT_GROUP_DESC_0054構造体 (d3d12umddi.h)

ヒット グループについて説明します。

構文

typedef struct D3D12DDI_HIT_GROUP_DESC_0054 {
  LPCWSTR                       HitGroupExport;
  D3D12DDI_HIT_GROUP_TYPE       Type;
  LPCWSTR                       AnyHitShaderImport;
  LPCWSTR                       ClosestHitShaderImport;
  LPCWSTR                       IntersectionShaderImport;
  D3D12DDI_EXPORT_SUMMARY_FLAGS SummaryFlags;
} D3D12DDI_HIT_GROUP_DESC_0054;

メンバー

HitGroupExport

ヒット グループの名前。

Type

ヒット グループの種類を表す D3D12DDI_HIT_GROUP_TYPE 列挙。

AnyHitShaderImport

ヒット シェーダーのインポート。

ClosestHitShaderImport

最も近いヒット シェーダーのインポート。

IntersectionShaderImport

交差シェーダーのインポート。

SummaryFlags

ランタイムがシェーダーのエクスポートについて決定したプロパティを示す D3D12DDI_EXPORT_SUMMARY_FLAGS フラグ。

注釈

ヒット グループは、次で構成される 1 つ以上のシェーダーです。

  • 0 または 1 の交差シェーダー
  • 0 または 1 ヒット シェーダー
  • 0 または 1 の最も近いヒット シェーダー

特定のインスタンス内の個々のジオメトリは、それぞれヒット グループを参照してシェーダー コードを提供します。 グループ化のポイントは、実装がジオメトリと対話する光線と同じくらい効率的にグループをコンパイルして実行できるようにすることです

レイ生成シェーダーとミス シェーダーは、ジオメトリに直接関係しないため、ヒット グループの一部ではありません。

ヒット グループに交差シェーダーが含まれている場合は、手続き型プリミティブ ジオメトリでのみ使用できます。 ヒット グループに交差シェーダーが含まれていない場合は、三角形ジオメトリでのみ使用できます。

シェーダー識別子として NULL を使用するだけで、シェーダーがまったくないヒット グループも可能です。

空のヒット グループは、たとえば、アプリがヒットに対して何もしたくない場合や、何もヒットしていないときに実行されているミス シェーダーのみを気にする場合に便利です。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809
Header d3d12umddi.h