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 l’ordre 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 orienté 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. Étant donné que 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 avec un déterminant négatif (par exemple, pour la mise en miroir d’une géométrie) ne modifie pas l’orientation des triangles de l’instance. En revanche, les transformations par géométrie définies dans D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC sont combinées avec les données de sommet associées dans l’espace objet ; une matrice à déterminant négatif à cet endroit inverse donc bien 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 s’exclut mutuellement 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 s’exclut mutuellement 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
