Sintaxe
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 | Descrição |
|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | Nenhuma opção especificada. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | Desabilita o descarte de faces frontais/traseiras para esta instância. Os sinalizadores de raio RAY_FLAG_CULL_BACK_FACING_TRIANGLES e RAY_FLAG_CULL_FRONT_FACING_TRIANGLES não terão efeito nesta instância. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE | Esse sinalizador inverte as faces frontal e traseira, o que é útil se a ordem de enrolamento natural do aplicativo for diferente da padrão. Por padrão, um triângulo é voltado para a frente se seus vértices aparecerem no sentido horário a partir da origem do raio e voltado para trás se seus vértices aparecerem no sentido anti-horário a partir da origem do raio, no espaço do objeto em um sistema de coordenadas para canhotos. Como essas regras de direção de enrolamento são definidas no espaço do objeto, elas não são afetadas pelas transformações de instância. Por exemplo, uma matriz de transformação de instância com determinante negativo (por exemplo, espelhando alguma geometria) não altera a orientação dos triângulos dentro da instância. As transformações por geometria definidas em D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC , por outro lado, são combinadas com os dados de vértice associados no espaço do objeto, portanto, uma matriz com determinante negativo nesse caso inverte o enrolamento dos triângulos. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | A instância agirá como se D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE tivesse sido especificado para todas as geometrias na estrutura de aceleração de nível inferior referenciada pela instância. Observe que esse comportamento pode ser substituído pelo sinalizador de raio RAY_FLAG_FORCE_NON_OPAQUE. Esse sinalizador é mutuamente exclusivo com o sinalizador D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE | A instância agirá como se D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE não tivesse sido especificado para nenhuma das geometrias na estrutura de aceleração de nível inferior referenciada pela instância. Observe que esse comportamento pode ser substituído pelo sinalizador de raio RAY_FLAG_FORCE_OPAQUE. Esse sinalizador é mutuamente exclusivo com o sinalizador D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE. |
Requisitos
Cabeçalho: d3d12_xs.hBiblioteca: d3d12_xs.lib
Plataformas com suporte: consoles XBOX Series
