Share via


D3D12_RAYTRACING_INSTANCE_FLAGS enumeração (d3d12.h)

Sinalizadores para uma instância de estrutura de aceleração de raytracing. Esses sinalizadores podem ser usados para substituir D3D12_RAYTRACING_GEOMETRY_FLAGS para instâncias individuais.

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
Valor: 0
Nenhuma opção especificada.
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
Valor: 0x1
Desabilita o abate facial frontal/traseiro para essa instância. Os sinalizadores ray RAY_FLAG_CULL_BACK_FACING_TRIANGLES e RAY_FLAG_CULL_FRONT_FACING_TRIANGLES não terão nenhum efeito nesta instância.
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
Valor: 0x2
Esse sinalizador inverte as frentes e para trás, o que é útil se a ordem de enrolamento natural do aplicativo for diferente do padrão. Por padrão, um triângulo será voltado para a frente se seus vértices aparecerem no sentido horário da origem do raio e voltados para trás se seus vértices aparecerem no sentido anti-horário da origem do raio, no espaço do objeto em um sistema de coordenadas canhoto.

Como essas regras de direção sinuosa são definidas no espaço de objeto, elas não são afetadas por transformações de instância. Por exemplo, uma matriz de transformação de instância com determinante negativo (por exemplo, espelhamento de alguma geometria) não altera o voltado para os 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, de modo que uma matriz determinante negativa lá faz girar o triângulo sinuoso.
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
Valor: 0x4
A instância atuará 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 do sinalizador D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE .
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
Valor: 0x8
A instância atuará 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 do sinalizador D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE .

Requisitos

Requisito Valor
Cabeçalho d3d12.h