Partager via


énumération D3D12_RAYTRACING_INSTANCE_FLAGS (d3d12.h)

Indicateurs d’une structure d’accélération de raytracing instance. Ces indicateurs peuvent être utilisés pour remplacer D3D12_RAYTRACING_GEOMETRY_FLAGS pour des instances individuelles.

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
Valeur : 0
Aucune option spécifiée.
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
Valeur : 0x1
Désactive l’élimination du visage avant/arrière pour cette instance. Les indicateurs Ray RAY_FLAG_CULL_BACK_FACING_TRIANGLES et RAY_FLAG_CULL_FRONT_FACING_TRIANGLES n’auront aucun effet sur cette instance.
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
Valeur : 0x2
Cet indicateur inverse les faces avant et arrière, ce qui est utile si l’ordre de bobage naturel de l’application diffère de la valeur par défaut. Par défaut, un triangle est orienté vers l’avant si ses sommets apparaissent dans le sens des aiguilles d’une montre à partir de l’origine du rayon et vers l’arrière si ses sommets apparaissent dans le sens inverse des aiguilles d’une montre par rapport à l’origine du rayon, dans l’espace de l’objet dans un système de coordonnées gaucher.

Étant donné que ces règles de direction d’enroulement sont définies dans l’espace d’objet, elles ne sont pas affectées par les transformations instance. Par exemple, une matrice de transformation instance avec un déterminant négatif (par exemple, la mise en miroir d’une certaine géométrie) ne modifie pas le parement des triangles au sein du instance. Les transformations par géométrie définies dans D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC , en revanche, sont combinées avec les données de vertex associées dans l’espace d’objet, de sorte qu’une matrice déterminante négative ne retourne pas le triangle enroulement.
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
Valeur : 0x4
Le instance agit comme si D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE avait été spécifié pour toutes les géométries de la structure d’accélération de niveau inférieur référencée par le instance. Notez que ce comportement peut être remplacé par l’indicateur de rayon RAY_FLAG_FORCE_NON_OPAQUE.

Cet indicateur s’exclue mutuellement de l’indicateur D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE .
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
Valeur : 0x8
Le instance agit comme si D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE n’avait pas été spécifié pour l’une des géométries de la structure d’accélération de niveau inférieur référencée par le instance. Notez que ce comportement peut être remplacé par l’indicateur de rayon RAY_FLAG_FORCE_OPAQUE.

Cet indicateur s’exclut mutuellement de l’indicateur D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE .

Configuration requise

Condition requise Valeur
En-tête d3d12.h