> ## 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 (XBOX Series 主機)

> 傳遞給 TraceRay 函式的旗標，用來覆寫透明度、剔除和提前結束行為。

傳遞給 [TraceRay](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/traceray-function) 函式的旗標，用來覆寫透明度、剔除和提前結束行為。

## 語法

```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  
```

## 常數

| 常數 | 描述 |
| - | - |
| D3D12\_RAY\_FLAG\_NONE | 未選取任何選項。 |
| D3D12\_RAY\_FLAG\_FORCE\_OPAQUE | 光線追蹤中遇到的所有光線與基本型別交集都會視為不透明。因此不會執行任何 any hit 著色器，無論命中的幾何是否指定 D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE，也無論命中之執行個體上的執行個體旗標為何。<br />此旗標與 RAY\_FLAG\_FORCE\_NON\_OPAQUE、RAY\_FLAG\_CULL\_OPAQUE 及 RAY\_FLAG\_CULL\_NON\_OPAQUE 互斥。 |
| D3D12\_RAY\_FLAG\_FORCE\_NON\_OPAQUE | 光線追蹤中遇到的所有光線與基本型別交集都會視為非不透明。因此若有 any hit 著色器，就會加以執行，無論命中的幾何是否指定 D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE，也無論命中之執行個體上的執行個體旗標為何。此旗標與 RAY\_FLAG\_FORCE\_\OPAQUE、RAY\_FLAG\_CULL\_OPAQUE 及 RAY\_FLAG\_CULL\_NON\_OPAQUE 互斥。 |
| D3D12\_RAY\_FLAG\_ACCEPT\_FIRST\_HIT\_AND\_END\_SEARCH | 光線追蹤中遇到的第一個光線與基本型別交集，會在 any hit 著色器之後立即自動呼叫 [AcceptHitAndEndSearch](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/accepthitandendsearch-function)，即使沒有 any hit 著色器也是如此。<br />唯一的例外是前一個 any hit 著色器呼叫了 [IgnoreHit](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/ignorehit-function)，在此情況下光線會不受影響地繼續，使下一個命中成為第一個命中的另一個候選。若要套用此例外，any hit 著色器必須實際執行。因此，如果因為命中被視為不透明而略過 any hit 著色器 (例如因為設定了 RAY\_FLAG\_FORCE\_OPAQUE、D3D12\_RAYTRACING\_GEOMETRY\_FLAG\_OPAQUE 或 D3D12\_RAYTRACING\_INSTANCE\_FLAG\_OPAQUE)，則會呼叫 AcceptHitAndEndSearch。<br />如果第一個命中有 closest hit 著色器，除非同時存在 RAY\_FLAG\_SKIP\_CLOSEST\_HIT\_SHADER，否則會叫用該著色器。找到的這一個命中會被視為「最接近」，即使光線上可能更接近的其他潛在命中可能尚未被造訪。<br />此旗標的典型用途是陰影，只需要找到單一命中即可。 |
| D3D12\_RAY\_FLAG\_SKIP\_CLOSEST\_HIT\_SHADER | 即使至少已認可一個命中，且最接近命中的命中群組包含 closest hit 著色器，也會略過該著色器的執行。 |
| D3D12\_RAY\_FLAG\_CULL\_BACK\_FACING\_TRIANGLES | 啟用背面三角形的剔除。如需依執行個體選取哪些三角形為背面，請參閱 [D3D12\_RAYTRACING\_INSTANCE\_FLAGS](https://msdn.microsoft.com/library/Mt815589\(v=VS.85\).aspx)。<br />對於指定 D3D12\_RAYTRACING\_INSTANCE\_FLAG\_TRIANGLE\_CULL\_DISABLE 的執行個體，此旗標沒有作用。<br />對於 D3D12\_RAYTRACING\_GEOMETRY\_TYPE\_TRIANGLES 以外的幾何類型，此旗標沒有作用。<br />此旗標與 RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES 互斥。 |
| D3D12\_RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES | 啟用正面三角形的剔除。如需依執行個體選取哪些三角形為背面，請參閱 D3D12\_RAYTRACING\_INSTANCE\_FLAGS。<br />對於指定 D3D12\_RAYTRACING\_INSTANCE\_FLAG\_TRIANGLE\_CULL\_DISABLE 的執行個體，此旗標沒有作用。<br />對於 D3D12\_RAYTRACING\_GEOMETRY\_TYPE\_TRIANGLES 以外的幾何類型，此旗標沒有作用。<br />此旗標與 RAY\_FLAG\_CULL\_FRONT\_FACING\_TRIANGLES 互斥。 |
| D3D12\_RAY\_FLAG\_CULL\_OPAQUE | 根據幾何與執行個體旗標，剔除所有被視為不透明的基本型別。<br />此旗標與 RAY\_FLAG\_FORCE\_OPAQUE、RAY\_FLAG\_FORCE\_NON\_OPAQUE 及 RAY\_FLAG\_CULL\_NON\_OPAQUE 互斥。 |
| D3D12\_RAY\_FLAG\_CULL\_NON\_OPAQUE | 根據幾何與執行個體旗標，剔除所有被視為非不透明的基本型別。<br />此旗標與 RAY\_FLAG\_FORCE\_OPAQUE、RAY\_FLAG\_FORCE\_NON\_OPAQUE 及 RAY\_FLAG\_CULL\_OPAQUE 互斥。 |
| D3D12XBOX\_RAY\_FLAG\_COHERENT\_RAYS\_HINT | 提示周遊系統，此分派中的光線彼此具有一致性。可讓周遊稍微更有效率。 |

## 需求

**標頭：** d3d12\_xs.h\
**支援的平台：** XBOX Series X|S

## 另請參閱

[d3d12\_xs](/zh-TW/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_PIPELINE_FLAGS (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_raytracing_pipeline_flags_public.md)
- [D3D12_RAYTRACING_PIPELINE_FLAGS (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/enums/d3d12_raytracing_pipeline_flags_public.md)
