Sintaxis
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
Constantes
| Constante | Descripción |
|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | No se especifica ninguna opción. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | Deshabilita el sacrificio de caras frontales o posteriores para esta instancia. Las marcas de rayo RAY_FLAG_CULL_BACK_FACING_TRIANGLES y RAY_FLAG_CULL_FRONT_FACING_TRIANGLES no tendrán ningún efecto en esta instancia. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE | Esta marca invierte las orientaciones frontal y posterior, lo que resulta útil si el orden de rotación natural de la aplicación difiere del predeterminado. De manera predeterminada, un triángulo está orientado hacia delante si sus vértices aparecen en el sentido de las agujas del reloj desde el origen del rayo y hacia atrás si sus vértices aparecen en sentido contrario a las agujas del reloj desde el origen del rayo, en el espacio de objetos de un sistema de coordenadas de mano izquierda. Dado que estas reglas de dirección de rotación se definen en el espacio de objetos, no se ven afectadas por las transformaciones de instancia. Por ejemplo, una matriz de transformación de instancia con determinante negativo (p. ej., que refleja alguna geometría) no cambia la orientación de los triángulos dentro de la instancia. En cambio, las transformaciones por geometría definidas en D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC se combinan con los datos de vértices asociados en el espacio de objetos, por lo que una matriz de determinante negativo ahí sí invierte la rotación del triángulo. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | La instancia actuará como si se hubiera especificado D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE para todas las geometrías de la estructura de aceleración de nivel inferior a la que hace referencia la instancia. Tenga en cuenta que este comportamiento se puede invalidar con la marca de rayo RAY_FLAG_FORCE_NON_OPAQUE. Esta marca es mutuamente excluyente con la marca D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE | La instancia actuará como si no se hubiera especificado D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE para ninguna de las geometrías de la estructura de aceleración de nivel inferior a la que hace referencia la instancia. Tenga en cuenta que este comportamiento se puede invalidar con la marca de rayo RAY_FLAG_FORCE_OPAQUE. Esta marca es mutuamente excluyente con la marca D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE. |
Requisitos
Encabezado: d3d12_xs.hBiblioteca: d3d12_xs.lib
Plataformas compatibles: consolas XBOX Series
