> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_RAY_FLAGS (consoles XBOX Series)

> Sinalizadores passados para a função TraceRay para substituir o comportamento de transparência, eliminação (culling) e saída antecipada.

Sinalizadores passados para a função [TraceRay](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/traceray-function) para substituir o comportamento de transparência, eliminação (culling) e saída antecipada.

## Sintaxe

```cpp theme={null}
typedef enum D3D12_RAY_FLAGS    
{  
    D3D12_RAY_FLAG_NONE = 0x00,  
    D3D12_RAY_FLAG_FORCE_OPAQUE = 0x01,  
    D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x02,  
    D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x04,  
    D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x08,  
    D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,  
    D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,  
    D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,  
    D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,  
    D3D12XBOX_RAY_FLAG_COHERENT_RAYS_HINT = 0x1000,  
} D3D12_RAY_FLAGS  
```

## Constantes

| Constante | Descrição |
| - | - |
| D3D12\_RAY\_FLAG\_NONE | Nenhuma opção selecionada. |
| D3D12\_RAY\_FLAG\_FORCE\_OPAQUE | Todas as interseções raio-primitiva encontradas em um traçado de raios são tratadas como opacas. Assim, nenhum sombreador any hit será executado, independentemente de a geometria atingida especificar D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE e independentemente dos sinalizadores da instância atingida. <br />Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_FORCE\_NON\_OPAQUE, RAY\_FLAG\_CULL\_OPAQUE e RAY\_FLAG\_CULL\_NON\_OPAQUE. |
| D3D12\_RAY\_FLAG\_FORCE\_NON\_OPAQUE | Todas as interseções raio-primitiva encontradas em um traçado de raios são tratadas como não opacas. Assim, os sombreadores any hit, se presentes, serão executados independentemente de a geometria atingida especificar D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE e independentemente dos sinalizadores da instância atingida. Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_FORCE\_\OPAQUE, RAY\_FLAG\_CULL\_OPAQUE e RAY\_FLAG\_CULL\_NON\_OPAQUE. |
| D3D12\_RAY\_FLAG\_ACCEPT\_FIRST\_HIT\_AND\_END\_SEARCH | A primeira interseção raio-primitiva encontrada em um traçado de raios faz automaticamente com que [AcceptHitAndEndSearch](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/accepthitandendsearch-function) seja chamada imediatamente após o sombreador any hit, inclusive se não houver sombreador any hit.<br />A única exceção é quando o sombreador any hit anterior chama [IgnoreHit](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/ignorehit-function); nesse caso, o raio continua sem ser afetado, de modo que a próxima interseção se torna outra candidata a ser a primeira. Para que essa exceção se aplique, o sombreador any hit precisa realmente ser executado. Portanto, se o sombreador any hit for ignorado porque a interseção é tratada como opaca (por exemplo, devido a RAY\_FLAG\_FORCE\_OPAQUE, D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE ou D3D12\_RAYTRACING\_INSTANCE\_FLAG\_OPAQUE estar definido), AcceptHitAndEndSearch será chamada.<br />Se um sombreador closest hit estiver presente na primeira interseção, ele será invocado, a menos que RAY\_FLAG\_SKIP\_CLOSEST\_HIT\_SHADER também esteja presente. A única interseção encontrada é considerada a "mais próxima", mesmo que outras interseções potenciais que poderiam estar mais próximas no raio talvez não tenham sido visitadas.<br />Um uso típico desse sinalizador é para sombras, em que apenas uma única interseção precisa ser encontrada. |
| D3D12\_RAY\_FLAG\_SKIP\_CLOSEST\_HIT\_SHADER | Mesmo que pelo menos uma interseção tenha sido confirmada e o grupo de interseção da interseção mais próxima contenha um sombreador closest hit, ignora a execução desse sombreador. |
| D3D12\_RAY\_FLAG\_CULL\_BACK\_FACING\_TRIANGLES | Habilita a eliminação de triângulos voltados para trás. Consulte [D3D12\_RAYTRACING\_INSTANCE\_FLAGS](https://msdn.microsoft.com/library/Mt815589\(v=VS.85\).aspx) para selecionar quais triângulos estão voltados para trás, por instância.<br />Em instâncias que especificam D3D12\_RAYTRACING\_INSTANCE\_FLAG\_TRIANGLE\_CULL\_DISABLE, esse sinalizador não tem efeito.<br />Em tipos de geometria diferentes de D3D12\_RAYTRACING\_GEOMETRY\_TYPE\_TRIANGLES, esse sinalizador não tem efeito.<br />Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES. |
| D3D12\_RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES | Habilita a eliminação de triângulos voltados para a frente. Consulte D3D12\_RAYTRACING\_INSTANCE\_FLAGS para selecionar quais triângulos estão voltados para trás, por instância.<br />Em instâncias que especificam D3D12\_RAYTRACING\_INSTANCE\_FLAG\_TRIANGLE\_CULL\_DISABLE, esse sinalizador não tem efeito.<br />Em tipos de geometria diferentes de D3D12\_RAYTRACING\_GEOMETRY\_TYPE\_TRIANGLES, esse sinalizador não tem efeito.<br />Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES. |
| D3D12\_RAY\_FLAG\_CULL\_OPAQUE | Elimina todas as primitivas consideradas opacas com base em sua geometria e nos sinalizadores de instância.<br />Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_FORCE\_OPAQUE, RAY\_FLAG\_FORCE\_NON\_OPAQUE e RAY\_FLAG\_CULL\_NON\_OPAQUE. |
| D3D12\_RAY\_FLAG\_CULL\_NON\_OPAQUE | Elimina todas as primitivas consideradas não opacas com base em sua geometria e nos sinalizadores de instância.<br />Esse sinalizador é mutuamente exclusivo com RAY\_FLAG\_FORCE\_OPAQUE, RAY\_FLAG\_FORCE\_NON\_OPAQUE e RAY\_FLAG\_CULL\_OPAQUE. |
| D3D12XBOX\_RAY\_FLAG\_COHERENT\_RAYS\_HINT | Dica para o sistema de travessia de que os raios neste dispatch serão coerentes entre si. Pode tornar a travessia um pouco mais eficiente. |

## Requisitos

**Cabeçalho:** d3d12\_xs.h\
**Plataformas compatíveis**: XBOX Series X|S

## Confira também

[d3d12\_xs](/pt-BR/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [D3D12_RAYTRACING_INSTANCE_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public.md)
- [D3D12_RAYTRACING_PIPELINE_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_raytracing_pipeline_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (XBOX Series consoles)](/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (XBOX Series consoles)](/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_PIPELINE_CONFIG1 (XBOX Series consoles)](/reference/graphics/d3d12/structs/d3d12_raytracing_pipeline_config1_public.md)
