перечисление D3D12DDI_RAYTRACING_INSTANCE_FLAGS (d3d12umddi.h)

Параметры флага при создании данных экземпляра на ЦП для передачи в GPU во время сборки структуры ускорения трассировки лучей.

Синтаксис

typedef enum D3D12DDI_RAYTRACING_INSTANCE_FLAGS {
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
} ;

Константы

 
D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE
Параметры не заданы.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
Отключает отбраковку для этого экземпляра. Флаги перечисления D3D12DDI_CULL_MODE D3D12DDI_CULL_MODE_FRONT и D3D12DDI_CULL_MODE_BACK не будут влиять на этот экземпляр.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
Этот флаг меняет переднюю и заднюю стороны, что полезно, если, например, естественный порядок обмотки приложения отличается от порядка по умолчанию.
По умолчанию треугольник обращен спереди, если его вершины появляются по часовой стрелке от источника луча и назад, если его вершины появляются против часовой стрелки от источника луча, в пространстве объектов в левой системе координат.
Так как эти правила направления обмотки определяются в пространстве объектов, преобразования экземпляров не затрагиваются. Например, матрица преобразования экземпляра с отрицательным детерминантом (например, зеркальное отображение некоторой геометрии) не изменяет облицовку треугольников внутри экземпляра. Преобразования по геометрии, напротив, (определенные в D3D12DDI_RAYTRACING_GEOMETRY_DESC_0054), объединяются со связанными данными вершин в пространстве объектов, поэтому отрицательная матрица детерминации там делает обмотку треугольника
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
Экземпляр будет действовать так, как если бы флаг D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE перечисления D3D12DDI_RAYTRACING_GEOMETRY_FLAGS был указан для всех геометрических объектов в структуре ускорения нижнего уровня, на которую ссылается экземпляр.

Обратите внимание, что это поведение может быть переопределено флагом луча D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE. Этот флаг является взаимоисключающим для флага D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
Экземпляр будет действовать так, как если бы флаг D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE перечисления D3D12DDI_RAYTRACING_GEOMETRY_FLAGS не был указан для каких-либо геометрических объектов в структуре ускорения нижнего уровня, на которую ссылается экземпляр.

Обратите внимание, что это поведение может быть переопределено флагом луча D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE. Этот флаг является взаимоисключающим для флага D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE.

Комментарии

Это перечисление используется в структуре D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 для указания параметра, применяемого к экземпляру .

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809
Верхняя часть d3d12umddi.h