> ## 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_SHADER_RESOURCE_VIEW_DESC

> 描述著色器資源檢視。(D3D12_SHADER_RESOURCE_VIEW_DESC)

描述著色器資源檢視 (SRV)。

## 語法

```cpp theme={null}
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
{
    DXGI_FORMAT Format;
    D3D12_SRV_DIMENSION ViewDimension;
    UINT Shader4ComponentMapping;
    D3D12_BUFFER_SRV Buffer;
    D3D12_TEX1D_SRV Texture1D;
    D3D12_TEX1D_ARRAY_SRV Texture1DArray;
    D3D12_TEX2D_SRV Texture2D;
    D3D12_TEX2D_ARRAY_SRV Texture2DArray;
    D3D12_TEX2DMS_SRV Texture2DMS;
    D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
    D3D12_TEX3D_SRV Texture3D;
    D3D12_TEXCUBE_SRV TextureCube;
    D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
    UNKNOWN_TYPE RaytracingAccelerationStructure;
} D3D12_SHADER_RESOURCE_VIEW_DESC
```

### 成員

*Format*\
類型：DXGI\_FORMAT

[DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format) 類型的值，指定檢視格式。請參閱備註。

*ViewDimension*\
類型：D3D12\_SRV\_DIMENSION

[D3D12\_SRV\_DIMENSION](/zh-TW/reference/graphics/d3d12_x/enums/d3d12_srv_dimension) 類型的值，指定檢視的資源類型。此類型與基礎資源的資源類型相同。此成員也會決定要使用下方聯集中的哪一個 \_SRV。

*Shader4ComponentMapping*\
類型：UINT

使用 [D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/zh-TW/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public) 巨集建構的值。**D3D12\_SHADER\_COMPONENT\_MAPPING** 列舉指定在著色器中透過此著色器資源檢視 (SRV) 存取紋理時，應從記憶體傳回哪些值。例如，它可以將記憶體中的元件 1 (綠色) 或常數 `0`，路由到提供給著色器之值的元件 2 (`.b`)。

*Buffer*\
類型：D3D12\_BUFFER\_SRV

[D3D12\_BUFFER\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_buffer_srv_public) 結構，將資源檢視為緩衝區。

*Texture1D*\
類型：D3D12\_TEX1D\_SRV

[D3D12\_TEX1D\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public) 結構，將資源檢視為 1D 紋理。

*Texture1DArray*\
類型：D3D12\_TEX1D\_ARRAY\_SRV

[D3D12\_TEX1D\_ARRAY\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex1d_array_srv_public) 結構，將資源檢視為 1D 紋理陣列。

*Texture2D*\
類型：D3D12\_TEX2D\_SRV

[D3D12\_TEX2D\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public) 結構，將資源檢視為 2D 紋理。

*Texture2DArray*\
類型：D3D12\_TEX2D\_ARRAY\_SRV

[D3D12\_TEX2D\_ARRAY\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex2d_array_srv_public) 結構，將資源檢視為 2D 紋理陣列。

*Texture2DMS*\
類型：D3D12\_TEX2DMS\_SRV

[D3D12\_TEX2DMS\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex2dms_srv_public) 結構，將資源檢視為 2D 多重取樣紋理。

*Texture2DMSArray*\
類型：D3D12\_TEX2DMS\_ARRAY\_SRV

[D3D12\_TEX2DMS\_ARRAY\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex2dms_array_srv_public) 結構，將資源檢視為 2D 多重取樣紋理陣列。

*Texture3D*\
類型：D3D12\_TEX3D\_SRV

[D3D12\_TEX3D\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public) 結構，將資源檢視為 3D 紋理。

*TextureCube*\
類型：D3D12\_TEXCUBE\_SRV

[D3D12\_TEXCUBE\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) 結構，將資源檢視為 3D 立方體紋理。

*TextureCubeArray*\
類型：D3D12\_TEXCUBE\_ARRAY\_SRV

[D3D12\_TEXCUBE\_ARRAY\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public) 結構，將資源檢視為 3D 立方體紋理陣列。

*RaytracingAccelerationStructure*\
[D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_srv_public) 結構，將資源檢視為光線追蹤加速結構。

## 備註

檢視是以特定格式查看資源中資料的方式。檢視會決定要查看哪些資料，以及讀取時如何轉換資料。

檢視資源時，資源檢視描述必須指定與資源格式相容的具類型格式。這表示您無法使用名稱中含有 \_TYPELESS 的任何格式來建立資源檢視描述。不過，您可以為檢視指定具類型格式來檢視無類型資源。例如，DXGI\_FORMAT\_R32G32B32\_TYPELESS 資源可以使用下列其中一種具類型格式檢視：DXGI\_FORMAT\_R32G32B32\_FLOAT、DXGI\_FORMAT\_R32G32B32\_UINT 和 DXGI\_FORMAT\_R32G32B32\_SINT，因為這些具類型格式與該無類型資源相容。

呼叫 [ID3D12Device::CreateShaderResourceView](/zh-TW/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public) 以建立著色器資源檢視描述。

## 需求

**標頭:** d3d12\_xs.h 或 d3d12\_x.h\
**程式庫:** d3d12\_xs.lib 或 d3d12\_x.lib\
**支援的平台**: XBOX Series 主機與 XBOX One 系列

## 另請參閱

[核心結構](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [CreateShaderResourceView](/zh-TW/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public.md)
- [D3D12_BUFFER_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_buffer_srv_public.md)
- [D3D12_TEXCUBE_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_texcube_srv_public.md)
- [D3D12_TEX3D_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public.md)
- [D3D12_TEXCUBE_ARRAY_SRV](/zh-TW/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public.md)
