перечисление D3D12_RAYTRACING_INSTANCE_FLAGS (d3d12.h)
Флаги для экземпляра структуры ускорения луча. Эти флаги можно использовать для переопределения D3D12_RAYTRACING_GEOMETRY_FLAGS для отдельных экземпляров.
Синтаксис
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_TRIANGLES и RAY_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 |