Compartir a través de


enumeración D3D12_RAYTRACING_INSTANCE_FLAGS (d3d12.h)

Marcas para una instancia de estructura de aceleración raytracing. Estas marcas se pueden usar para invalidar D3D12_RAYTRACING_GEOMETRY_FLAGS para instancias individuales.

Syntax

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
} ;

Constantes

 
D3D12_RAYTRACING_INSTANCE_FLAG_NONE
Valor: 0
Ninguna opción especificada.
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
Valor: 0x1
Deshabilita la selección de caras frontales y traseras para esta instancia. Las marcas ray 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
Valor: 0x2
Esta marca invierte los frentes delanteros y traseros, lo que resulta útil si el orden de desenlace natural de la aplicación difiere del valor predeterminado. De forma 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 en un sistema de coordenadas a la izquierda.

Dado que estas reglas de dirección de desenlace 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 (por ejemplo, la creación de reflejo de alguna geometría) no cambia la cara de los triángulos dentro de la instancia. Las transformaciones por geometría definidas en D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC , por el contrario, se combinan con los datos de vértices asociados en el espacio del objeto, por lo que hay una matriz determinante negativa en la que se voltea el viento del triángulo.
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
Valor: 0x4
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 mediante la marca de rayos RAY_FLAG_FORCE_NON_OPAQUE.

Esta marca es mutuamente excluyente de la marca D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE .
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
Valor: 0x8
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 mediante la marca de rayos RAY_FLAG_FORCE_OPAQUE.

Esta marca es mutuamente excluyente de la marca D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE .

Requisitos

Requisito Valor
Header d3d12.h