Syntaxe
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 | Description |
|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | Aucune option n’est spécifiée. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | Désactive l’élimination des faces avant/arrière pour cette instance. Les indicateurs de rayon 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 | Cet indicateur inverse les faces avant et arrière, ce qui est utile si l’ordre d’enroulement naturel de l’application diffère de celui 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 depuis l’origine du rayon, et vers l’arrière si ses sommets apparaissent dans le sens inverse des aiguilles d’une montre depuis l’origine du rayon, dans l’espace objet d’un système de coordonnées main gauche. Comme ces règles de sens d’enroulement sont définies dans l’espace objet, elles ne sont pas affectées par les transformations d’instance. Par exemple, une matrice de transformation d’instance dont le déterminant est négatif (p. ex. pour refléter une géométrie en miroir) ne change pas l’orientation des triangles dans l’instance. En revanche, les transformations par géométrie définies dans D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC sont combinées aux données de sommets associées dans l’espace objet; une matrice à déterminant négatif à cet endroit inverse donc l’enroulement des triangles. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | L’instance se comporte 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 l’instance. Notez que ce comportement peut être remplacé par l’indicateur de rayon RAY_FLAG_FORCE_NON_OPAQUE. Cet indicateur est mutuellement exclusif avec l’indicateur D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE | L’instance se comporte comme si D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE n’avait été spécifié pour aucune des géométries de la structure d’accélération de niveau inférieur référencée par l’instance. Notez que ce comportement peut être remplacé par l’indicateur de rayon RAY_FLAG_FORCE_OPAQUE. Cet indicateur est mutuellement exclusif avec l’indicateur D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE. |
Configuration requise
En-tête : d3d12_xs.hBibliothèque : d3d12_xs.lib
Plateformes prises en charge : consoles XBOX Series
