Compartir a través de


enumeración D3D12_RAYTRACING_GEOMETRY_FLAGS (d3d12.h)

Especifica marcas para la geometría raytracing en una estructura de D3D12_RAYTRACING_GEOMETRY_DESC .

Syntax

typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS {
  D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
  D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
  D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
} ;

Constantes

 
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE
Valor: 0
Ninguna opción especificada.
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Valor: 0x1
Cuando los rayos encuentran esta geometría, la geometría actúa como si no hubiera ningún sombreador de aciertos. Se recomienda que las aplicaciones usen esta marca liberalmente, ya que puede habilitar optimizaciones importantes de procesamiento de rayos. Tenga en cuenta que este comportamiento se puede invalidar por instancia con D3D12_RAYTRACING_INSTANCE_FLAGS y por rayos mediante marcas de rayos en TraceRay.
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Valor: 0x2
De forma predeterminada, el sistema es libre de desencadenar un sombreador de aciertos más de una vez para una intersección primitiva de rayos determinada. Esta flexibilidad ayuda a mejorar la eficiencia transversal de las estructuras de aceleración en determinados casos. Por ejemplo, si la estructura de aceleración se implementa internamente con volúmenes de límite, la implementación puede resultar beneficiosa para almacenar triángulos relativamente largos en varios cuadros de límite en lugar de un único cuadro mayor. Sin embargo, algunos casos de uso de la aplicación requieren que las intersecciones se notifiquen al sombreador de aciertos como máximo una vez. Esta marca habilita esa garantía para la geometría dada, posiblemente con algún impacto en el rendimiento.

Esta marca se aplica a todos los tipos de geometría.

Requisitos

Requisito Valor
Header d3d12.h