D3D12_RAYTRACING_INSTANCE_FLAGS
列挙型フラグメンバー 7
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | 0 | 0x0 | オプションを指定しません。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | 1 | 0x1 | このインスタンスに対する前面/背面のカリングを無効にします。レイフラグ RAY_FLAG_CULL_BACK_FACING_TRIANGLES および RAY_FLAG_CULL_FRONT_FACING_TRIANGLES は、このインスタンスには影響しません。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE | 2 | 0x2 | このフラグは前面と背面の向きを反転します。アプリケーション本来の頂点の巻き順が既定と異なる場合に有用です。既定では、左手座標系のオブジェクト空間において、レイの原点から見て頂点が時計回りに並ぶ三角形が前面、反時計回りに並ぶ三角形が背面となります。 これらの巻き方向の規則はオブジェクト空間で定義されるため、インスタンス変換の影響を受けません。たとえば、行列式が負のインスタンス変換行列(ジオメトリを鏡像反転する場合など)を指定しても、そのインスタンス内の三角形の向きは変わりません。これに対して D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC で定義されるジオメトリ単位の変換は、オブジェクト空間で対応する頂点データと合成されるため、行列式が負の行列を指定すると三角形の巻き順が反転します。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | 4 | 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 | 8 | 0x8 | このインスタンスは、参照先の下位レベル高速化構造に含まれるいずれのジオメトリに対しても D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE が指定されなかったかのように動作します。なお、この動作はレイフラグ RAY_FLAG_FORCE_OPAQUE によって上書きできます。 このフラグは D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE フラグと相互排他的です。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE | 16 | 0x10 | |
| D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS | 32 | 0x20 |
公式ドキュメント
レイトレーシングの高速化構造インスタンスに対するフラグです。これらのフラグを使用すると、個々のインスタンスについて D3D12_RAYTRACING_GEOMETRY_FLAGS を上書きできます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS : int {
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16,
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32
} D3D12_RAYTRACING_INSTANCE_FLAGS;[Flags]
public enum D3D12_RAYTRACING_INSTANCE_FLAGS : int
{
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16,
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32,
}<Flags>
Public Enum D3D12_RAYTRACING_INSTANCE_FLAGS As Integer
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32
End Enumimport enum
class D3D12_RAYTRACING_INSTANCE_FLAGS(enum.IntFlag):
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32// D3D12_RAYTRACING_INSTANCE_FLAGS (flags)
pub const D3D12_RAYTRACING_INSTANCE_FLAG_NONE: i32 = 0;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE: i32 = 1;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE: i32 = 2;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE: i32 = 4;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE: i32 = 8;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE: i32 = 16;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS: i32 = 32;// D3D12_RAYTRACING_INSTANCE_FLAGS
const (
D3D12_RAYTRACING_INSTANCE_FLAG_NONE int32 = 0
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE int32 = 1
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE int32 = 2
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE int32 = 4
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE int32 = 8
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE int32 = 16
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS int32 = 32
)const
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0;
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1;
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2;
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4;
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8;
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16;
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32;// D3D12_RAYTRACING_INSTANCE_FLAGS
pub const D3D12_RAYTRACING_INSTANCE_FLAG_NONE: i32 = 0;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE: i32 = 1;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE: i32 = 2;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE: i32 = 4;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE: i32 = 8;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE: i32 = 16;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS: i32 = 32;const
D3D12_RAYTRACING_INSTANCE_FLAG_NONE* = 0
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE* = 1
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE* = 2
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE* = 4
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE* = 8
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE* = 16
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS* = 32enum D3D12_RAYTRACING_INSTANCE_FLAGS : int {
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 16,
D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 32,
}#define global D3D12_RAYTRACING_INSTANCE_FLAG_NONE 0x0
#define global D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE 0x1
#define global D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE 0x2
#define global D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE 0x4
#define global D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE 0x8
#define global D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE 0x10
#define global D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS 0x20
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。