語法
typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS
{
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_FLAGS
常數
| 常數 | 描述 |
|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | 未指定任何選項。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | 停用此執行個體的正面/背面剔除。光線旗標 RAY_FLAG_CULL_BACK_FACING_TRIANGLES 和 RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 對此執行個體不會有任何作用。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE | 此旗標會反轉正面與背面,如果應用程式的自然纏繞順序與預設值不同,這會很有用。根據預設,在左手座標系統的物件空間中,如果三角形的頂點從光線原點看起來是順時針,則該三角形為正面;如果頂點從光線原點看起來是逆時針,則為背面。由於這些纏繞方向規則是在物件空間中定義,因此不受執行個體轉換的影響。例如,行列式為負數的執行個體轉換矩陣 (例如鏡像某些幾何) 不會變更執行個體內三角形的朝向。相較之下,在 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 中定義的個別幾何轉換,會與物件空間中的相關頂點資料合併,因此該處的負行列式矩陣確實會翻轉三角形纏繞。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | 執行個體的行為就如同已為執行個體所參考之底層加速結構中的所有幾何指定 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE 一樣。請注意,此行為可以由光線旗標 RAY_FLAG_FORCE_NON_OPAQUE 覆寫。此旗標與 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE 旗標互斥。 |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE | 執行個體的行為就如同未為執行個體所參考之底層加速結構中的任何幾何指定 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE 一樣。請注意,此行為可以由光線旗標 RAY_FLAG_FORCE_OPAQUE 覆寫。此旗標與 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE 旗標互斥。 |
需求
標頭: d3d12_xs.h程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機
