次の方法で共有


D3D12DDI_RAYTRACING_INSTANCE_FLAGS列挙 (d3d12umddi.h)

レイ トレーシング アクセラレーション構造の構築中に、GPU にアップロードする CPU 上のインスタンス データを生成するときのフラグ オプション。

構文

typedef enum D3D12DDI_RAYTRACING_INSTANCE_FLAGS {
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
} ;

定数

 
D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE
オプションは指定されません。
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
このインスタンスのカリングを無効にします。 D3D12DDI_CULL_MODE 列挙フラグのD3D12DDI_CULL_MODE_FRONTとD3D12DDI_CULL_MODE_BACKは、このインスタンスには影響しません。
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
このフラグは、前面と背面を反転させます。これは、たとえば、アプリケーションの自然な巻き上げ順序が既定と異なる場合に便利です。
既定では、三角形は、頂点が光線の原点から時計回りに表示される場合は正面に向き、頂点が左手座標系のオブジェクト空間で光線の原点から反時計回りに表示される場合は逆向きになります。
これらの巻き取り方向ルールはオブジェクト空間で定義されているため、インスタンス変換の影響を受けません。 たとえば、負の決定性を持つインスタンス変換行列 (一部のジオメトリのミラーリングなど) では、インスタンス内の三角形の面は変更されません。 一方、ジオメトリごとの変換 (D3D12DDI_RAYTRACING_GEOMETRY_DESC_0054で定義) は、オブジェクト空間内の関連する頂点データと組み合わされるため、負の決定行列では三角形の巻き取りが行われます。
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
インスタンスは、D3D12DDI_RAYTRACING_GEOMETRY_FLAGS 列挙'D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE フラグが、インスタンスによって参照される下位レベルのアクセラレーション構造内のすべてのジオメトリに対して指定されているかのように動作します。

この動作は、レイ フラグ D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUEによってオーバーライドできることに注意してください。 このフラグは、D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE フラグとは相互に排他的です。
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
インスタンスは、D3D12DDI_RAYTRACING_GEOMETRY_FLAGS 列挙's D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE フラグが、インスタンスによって参照される下位レベルのアクセラレーション構造のどのジオメトリにも指定されていないかのように動作します。

この動作は、レイ フラグ D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUEによってオーバーライドできることに注意してください。 このフラグは、D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE フラグとは相互に排他的です。

備考

この列挙型は、インスタンスに適用するオプションを指定するために、D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 構造体で使用されます。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 1809
ヘッダー d3d12umddi.h