структура 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 |