语法
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 主机
