énumération D3D12DDI_RAYTRACING_GEOMETRY_FLAGS (d3d12umddi.h)

Spécifie les indicateurs géométriques de suivi des rayons.

Syntax

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

Constantes

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
Aucune option spécifiée.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Lorsque les rayons rencontrent cette géométrie, la géométrie agit comme si aucun nuanceur de frappe n’était présent. Il est recommandé d’utiliser cet indicateur de manière libérale, car il peut permettre des optimisations importantes du traitement des rayons.

REMARQUE

Ce comportement peut être remplacé par instance par D3D12DDI_RAYTRACING_INSTANCE_FLAGS et par rayon à l’aide d’indicateurs ray dans TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Par défaut, le système est libre de déclencher un nuanceur d’accès plusieurs fois pour une intersection ray-primitive donnée. Cette flexibilité permet d’améliorer l’efficacité de la traversée des structures d’accélération dans certains cas. Par instance, si la structure d’accélération est implémentée en interne avec des volumes englobants, l’implémentation peut trouver utile de stocker des triangles relativement longs dans plusieurs zones englobantes plutôt qu’une zone unique plus grande.

Toutefois, certains cas d’usage d’application nécessitent que les intersections soient signalées à n’importe quel nuanceur d’accès au plus une fois. Cet indicateur permet cette garantie pour la géométrie donnée, avec potentiellement un impact sur les performances.

Cet indicateur s’applique à tous les types de géométrie.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809
En-tête d3d12umddi.h