Compartilhar via


D3D12DDI_RAYTRACING_GEOMETRY_FLAGS enumeração (d3d12umddi.h)

Especifica os sinalizadores de geometria de rastreamento de raios.

Syntax

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

Constantes

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
Nenhuma opção especificada.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Quando os raios encontram essa geometria, a geometria age como se nenhum sombreador de ocorrência estivesse presente. É recomendável usar esse sinalizador liberalmente, pois ele pode habilitar otimizações de processamento de raios importantes.

OBSERVAÇÃO

Esse comportamento pode ser substituído por instância com D3D12DDI_RAYTRACING_INSTANCE_FLAGS e por raio usando sinalizadores Ray em TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Por padrão, o sistema é livre para disparar um sombreador de ocorrência mais de uma vez para uma determinada interseção ray-primitive. Essa flexibilidade ajuda a melhorar a eficiência de passagem das estruturas de aceleração em determinados casos. Por exemplo, se a estrutura de aceleração for implementada internamente com volumes delimitadores, a implementação poderá achar útil armazenar triângulos relativamente longos em várias caixas delimitadoras em vez de uma caixa única maior.

No entanto, alguns casos de uso do aplicativo exigem que as interseções sejam relatadas a qualquer sombreador de ocorrência no máximo uma vez. Esse sinalizador permite essa garantia para a geometria fornecida, potencialmente com algum impacto no desempenho.

Esse sinalizador se aplica a todos os tipos de geometria.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809
Cabeçalho d3d12umddi.h