Поделиться через


перечисление 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_GEOMETRY_FLAG_OPAQUE был указан для всех геометрий в структуре ускорения нижнего уровня, на которую ссылается экземпляр.

Обратите внимание, что это поведение можно переопределить флагом луча 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