D3D12_RAYTRACING_INSTANCE_FLAGS列舉 (d3d12.h)

光線追蹤加速結構實例的旗標。 這些旗標可用來覆寫個別實例 的D3D12_RAYTRACING_GEOMETRY_FLAGS

Syntax

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 旗標 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 旗標互斥。

規格需求

需求
標頭 d3d12.h