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列挙体のD3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE フラグが、インスタンスによって参照される下位レベルのアクセラレーション構造のどのジオメトリにも指定されていないかのように動作します。

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

注釈

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

要件

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