Метод ID3D11Device::CreateShaderResourceView (d3d11.h)
Создайте представление шейдер-ресурс для доступа к данным в ресурсе.
Синтаксис
HRESULT CreateShaderResourceView(
[in] ID3D11Resource *pResource,
[in, optional] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
[out, optional] ID3D11ShaderResourceView **ppSRView
);
Параметры
[in] pResource
Тип: ID3D11Resource*
Указатель на ресурс, который будет использоваться в качестве входных данных для шейдера. Этот ресурс должен быть создан с флагом D3D11_BIND_SHADER_RESOURCE .
[in, optional] pDesc
Тип: const D3D11_SHADER_RESOURCE_VIEW_DESC*
Указатель на описание представления шейдер-ресурсов (см . D3D11_SHADER_RESOURCE_VIEW_DESC). Присвойте этому параметру значение NULL , чтобы создать представление, которое обращается ко всему ресурсу (в формате, в который был создан ресурс).
[out, optional] ppSRView
Тип: ID3D11ShaderResourceView**
Адрес указателя на ID3D11ShaderResourceView. Присвойте этому параметру значение NULL , чтобы проверить другие входные параметры (метод вернет S_FALSE , если другие входные параметры проходят проверку).
Возвращаемое значение
Тип: HRESULT
Этот метод возвращает один из следующих кодов возврата Direct3D 11.
Комментарии
Ресурс состоит из одного или нескольких подресурсов; представление определяет, к каким подресурсам следует разрешить доступ конвейеру. Кроме того, каждый ресурс привязан к конвейеру с помощью представления. Представление шейдер-ресурса предназначено для привязки любого ресурса буфера или текстуры к этапам шейдера с помощью следующих методов API: ID3D11DeviceContext::VSSetShaderResources, ID3D11DeviceContext::GSSetShaderResources и ID3D11DeviceContext::P SSetShaderResources.
Так как представление является полностью типизированным, это означает, что бестипные ресурсы становятся полностью типизированными при привязке к конвейеру.
Вы можете создавать представления шейдер-ресурсов для видеоресурсов, чтобы шейдеры Direct3D могли обрабатывать эти представления ресурсов шейдеров. Это либо Texture2D, либо Texture2DArray. Значение элемента ViewDimension структуры D3D11_SHADER_RESOURCE_VIEW_DESC для созданного представления шейдер-ресурса должно соответствовать типу видеоресурса, D3D11_SRV_DIMENSION_TEXTURE2D для Texture2D и D3D11_SRV_DIMENSION_TEXTURE2DARRAY для Texture2DArray. Кроме того, формат базового видеоресурса ограничивает форматы, которые может использовать представление. Значения формата видеоресурсов на странице справочника по DXGI_FORMAT указывают значения формата, которыми ограничены представления.
Логика предотвращения конфликтов чтения и записи во время выполнения (которая предотвращает привязку ресурса как SRV, RTV или UAV одновременно) рассматривает представления различных частей одной и той же области видео как конфликтующие для простоты. Таким образом, среда выполнения не позволяет приложению считывать данные из luma, в то время как приложение одновременно отрисовывается в хрома в одной и той же поверхности, даже если оборудование может разрешить эти одновременные операции.
Windows Phone 8. Этот API поддерживается.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3D11.lib |