D3D12_RAYTRACING_INSTANCE_FLAGS列挙 (d3d12.h)

レイトレーシング アクセラレーション構造体インスタンスのフラグ。 これらのフラグを使用して、個々のインスタンス のD3D12_RAYTRACING_GEOMETRY_FLAGS をオーバーライドできます。

構文

typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS {
  D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
  D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
  D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
  D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
  D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
} ;

定数

 
D3D12_RAYTRACING_INSTANCE_FLAG_NONE
値: 0
オプションは指定されていません。
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
値: 0x1
このインスタンスの前面/背面のカリングを無効にします。 レイ フラグ RAY_FLAG_CULL_BACK_FACING_TRIANGLESRAY_FLAG_CULL_FRONT_FACING_TRIANGLES は、このインスタンスには影響しません。
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
値: 0x2
このフラグは、前面と背面を反転します。これは、アプリケーションの自然な巻き上げ順序が既定と異なる場合に便利です。 既定では、頂点がレイの原点から時計回りに表示され、頂点がレイ原点から反時計回りに表示される場合は、左側の座標系のオブジェクト空間で、三角形が正面向きになります。

これらの巻き方向ルールはオブジェクト空間で定義されているため、インスタンス変換の影響を受けません。 たとえば、負の決定性を持つインスタンス変換行列 (一部のジオメトリのミラーリングなど) では、インスタンス内の三角形の向きは変わりません。 これに対 し、D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC で定義されたジオメトリごとの変換は、オブジェクト空間内の関連する頂点データと組み合わされるため、負の決定行列では三角形の巻き上げが反転します。
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
値: 0x4
インスタンスは、 インスタンス によって参照される下位レベルのアクセラレーション構造内のすべてのジオメトリに対してD3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUEが指定されているかのように動作します。 この動作はレイ フラグ RAY_FLAG_FORCE_NON_OPAQUEによってオーバーライドできること に注意してください

このフラグは、 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE フラグとは相互に排他的です。
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
値: 0x8
インスタンスは、 インスタンス によって参照される下位レベルのアクセラレーション構造のジオメトリに対してD3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUEが指定されていないかのように動作します。 この動作はレイ フラグ RAY_FLAG_FORCE_OPAQUEによってオーバーライドできることに注意 してください

このフラグは、 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE フラグに対して相互に排他的です。

要件

要件
Header d3d12.h