Поделиться через


структура D3D12_SHADER_RESOURCE_VIEW_DESC (d3d12.h)

Описывает представление ресурсов шейдера (SRV).

Синтаксис

typedef struct D3D12_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_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
  };
} D3D12_SHADER_RESOURCE_VIEW_DESC;

Члены

Format

DXGI_FORMAT типизированное значение, указывающее формат просмотра. См. примечания.

ViewDimension

Значение типа D3D12_SRV_DIMENSION, указывающее тип ресурса представления. Этот тип совпадает с типом ресурса базового ресурса. Этот член также определяет, какие _SRV использовать в приведенном ниже объединении.

Shader4ComponentMapping

Значение, созданное с помощью макроса D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING . Перечисление D3D12_SHADER_COMPONENT_MAPPING указывает, какие значения из памяти должны возвращаться при обращении к текстуре в шейдере через это представление ресурсов шейдера (SRV). Например, он может направлять компонент 1 (зеленый) из памяти или константы 0в компонент 2 (.b) значения, заданного шейдеру.

Buffer

Структура D3D12_BUFFER_SRV , которая рассматривает ресурс как буфер.

Texture1D

Структура D3D12_TEX1D_SRV , которая рассматривает ресурс как 1D-текстуру.

Texture1DArray

Структура D3D12_TEX1D_ARRAY_SRV , которая рассматривает ресурс как массив 1D-текстур.

Texture2D

Структура D3D12_TEX2D_SRV , которая рассматривает ресурс как двухd-текстуру.

Texture2DArray

Структура D3D12_TEX2D_ARRAY_SRV , которая рассматривает ресурс как массив двухd-текстур.

Texture2DMS

Структура D3D12_TEX2DMS_SRV , которая рассматривает ресурс как двухмерную текстуру.

Texture2DMSArray

Структура D3D12_TEX2DMS_ARRAY_SRV , которая рассматривает ресурс как массив двухмерных текстур.

Texture3D

Структура D3D12_TEX3D_SRV , которая рассматривает ресурс как трехмерную текстуру.

TextureCube

Структура D3D12_TEXCUBE_SRV , которая рассматривает ресурс как текстуру трехмерного куба.

TextureCubeArray

Структура D3D12_TEXCUBE_ARRAY_SRV , которая рассматривает ресурс как массив трехмерной текстуры куба.

RaytracingAccelerationStructure

Структура D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV , которая рассматривает ресурс как структуру ускорения луча.

Комментарии

Представление — это зависящий от формата способ просмотра данных в ресурсе. Представление определяет, на какие данные следует смотреть и как они приведения при чтении.

При просмотре ресурса в описании представления ресурсов должен быть указан типизированный формат, совместимый с форматом ресурса. Это означает, что вы не можете создать описание представления ресурсов в любом формате с _TYPELESS в имени. Однако вы можете просмотреть ресурс без типов, указав для представления типизированный формат. Например, DXGI_FORMAT_R32G32B32_TYPELESS ресурс можно просмотреть в одном из следующих типизированных форматов: DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT и DXGI_FORMAT_R32G32B32_SINT, так как эти типизированные форматы совместимы с бестипным ресурсом.

Создайте описание шейдер-ресурса-представления, вызвав ID3D12Device::CreateShaderResourceView.

Требования

   
Верхняя часть d3d12.h

См. также раздел

Базовые структуры