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 |