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

# D3D12XBOX_SHADER_RESOURCE_VIEW_DESC (XBOX One 系列)

> D3D12XBOX_SHADER_RESOURCE_VIEW_DESC 定義 XBOX One 系列上的 SRV，包括資源位置、DataFormat、NumberFormat 及記憶體類型覆寫。

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

## 語法

```cpp theme={null}
typedef struct D3D12XBOX_SHADER_RESOURCE_VIEW_DESC {  
    DXGI_FORMAT Format;  
    D3D12_SRV_DIMENSION ViewDimension;  
    UINT Shader4ComponentMapping;  
    union  
    {  
        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;  
    };  
    D3D12_GPU_VIRTUAL_ADDRESS ResourceLocation;  
    D3D12XBOX_DATA_FORMAT DataFormat;  
    D3D12XBOX_NUMBER_FORMAT NumberFormat;  
    UINT MemoryType;  
    FLOAT TextureWarnLevelOfDetail;  
    INT TexturePerfModulation;  
} D3D12XBOX_SHADER_RESOURCE_VIEW_DESC  
```

### 成員

*Format*\
類型: DXGI\_FORMAT

資源的檢視格式。如需詳細資訊，請參閱＜備註＞一節。

*ViewDimension*\
類型: [D3D12\_SRV\_DIMENSION](/zh-TW/reference/graphics/d3d12_x/enums/d3d12_srv_dimension)

檢視的著色器資源類型。此類型與基礎資源的資源類型相同。此成員會決定儲存在下方 Buffer/Texture1D/Texture2D/等等 union 中的資料類型。

*Shader4ComponentMapping*\
類型: UINT

[D3D12\_SHADER\_COMPONENT\_MAPPING](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ne-d3d12-d3d12_shader_component_mapping) 列舉常數，指定著色器資源檢視 (SRV) 在記憶體擷取之後，如何為著色器中的傳回元件路由記憶體。

*Buffer*\
類型: [D3D12\_BUFFER\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_buffer_srv)

將資源檢視為緩衝區的 **D3D12\_BUFFER\_SRV** 結構。

*Texture1D*\
類型: [D3D12\_TEX1D\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex1d_srv)

將資源檢視為 1D 紋理的 **D3D12\_TEX1D\_SRV** 結構。

*Texture1DArray*\
類型: [D3D12\_TEX1D\_ARRAY\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex1d_array_srv)

將資源檢視為 1D 紋理陣列的 **D3D12\_TEX1D\_ARRAY\_SRV** 結構。

*Texture2D*\
類型: [D3D12\_TEX2D\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex2d_srv)

將資源檢視為 2D 紋理的 **D3D12\_TEX2D\_SRV** 結構。

*Texture2DArray*\
類型: [D3D12\_TEX2D\_ARRAY\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex2d_array_srv)

將資源檢視為 2D 紋理陣列的 **D3D12\_TEX2D\_ARRAY\_SRV** 結構。

*Texture2DMS*\
類型: [D3D12\_TEX2DMS\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex2dms_srv)

將資源檢視為 2D 多重取樣紋理的 **D3D12\_TEX2DMS\_SRV** 結構。

*Texture2DMSArray*\
類型: [D3D12\_TEX2DMS\_ARRAY\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex2dms_array_srv)

將資源檢視為 2D 多重取樣紋理陣列的 **D3D12\_TEX2DMS\_ARRAY\_SRV** 結構。

*Texture3D*\
類型: [D3D12\_TEX3D\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_tex3d_srv)

將資源檢視為 3D 紋理的 **D3D12\_TEX3D\_SRV** 結構。

*TextureCube*\
類型: [D3D12\_TEXCUBE\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_texcube_srv)

將資源檢視為 3D 立方體紋理的 **D3D12\_TEXCUBE\_SRV** 結構。

*TextureCubeArray*\
類型: [D3D12\_TEXCUBE\_ARRAY\_SRV](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_texcube_array_srv)

將資源檢視為 3D 立方體紋理陣列的 **D3D12\_TEXCUBE\_ARRAY\_SRV** 結構。

*ResourceLocation*\
類型: [D3D12\_GPU\_VIRTUAL\_ADDRESS](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12_gpu_virtual_address)

(XBOX One；不適用於 PC) 資源的位置。

*DataFormat*\
類型: [D3D12XBOX\_DATA\_FORMAT](/zh-TW/reference/graphics/d3d12_x/enums/d3d12xbox_data_format)

(XBOX One；不適用於 PC) 資料格式，以 **D3D12XBOX\_DATA\_FORMAT** 列舉常數表示。

*NumberFormat*\
類型: [D3D12XBOX\_NUMBER\_FORMAT](/zh-TW/reference/graphics/d3d12_x/enums/d3d12xbox_number_format)

(XBOX One；不適用於 PC) 數字格式，以 **D3D12XBOX\_NUMBER\_FORMAT** 列舉常數表示。

*MemoryType*\
類型: UINT

(XBOX One；不適用於 PC) 記憶體類型。保留，設定為零。

*TextureWarnLevelOfDetail*\
類型: FLOAT

(XBOX One；不適用於 PC) 紋理發出警告訊息時的詳細程度層級。

*TexturePerfModulation*\
類型: INT

(XBOX One；不適用於 PC) 紋理效能調變。

## 備註

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

檢視資源時，資源檢視描述必須指定與資源格式相容的具型別格式。這表示您無法使用名稱中含有 \_TYPELESS 的任何格式來建立資源檢視描述。不過，您可以為檢視指定具型別格式，以檢視無型別資源。例如，**DXGI\_FORMAT\_R32G32B32\_TYPELESS** 資源可以使用下列其中一種具型別格式來檢視: **DXGI\_FORMAT\_R32G32B32\_FLOAT**、**DXGI\_FORMAT\_R32G32B32\_UINT** 和 **DXGI\_FORMAT\_R32G32B32\_SINT**，因為這些具型別格式與該無型別資源相容。如需資源檢視格式的詳細資訊，請參閱 [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)。

[ID3D12Device::CreatePlacedShaderResourceViewX](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_createplacedshaderresourceviewx) 和 [ID3D12Device::CreatePlacedRawShaderResourceViewX](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_createplacedrawshaderresourceviewx) 會使用此結構。

## 需求

**標頭:** d3d12\_x.h

**支援的平台:** XBOX One 系列

## 另請參閱

[d3d12\_x](/zh-TW/reference/graphics/d3d12_x/d3d12_x_members)\
[DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)


## Related topics

- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [D3D12_SHADER_RESOURCE_VIEW_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_shader_resource_view_desc_public.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [CreateShaderResourceView](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public.md)
