Метод ID3D11Device::CreateTexture2D (d3d11.h)
Создание массива двухd-текстур.
Синтаксис
HRESULT CreateTexture2D(
[in] const D3D11_TEXTURE2D_DESC *pDesc,
[in, optional] const D3D11_SUBRESOURCE_DATA *pInitialData,
[out, optional] ID3D11Texture2D **ppTexture2D
);
Параметры
[in] pDesc
Тип: const D3D11_TEXTURE2D_DESC*
Указатель на структуру D3D11_TEXTURE2D_DESC , описывающую ресурс двухмерной текстуры. Чтобы создать нетипизированный ресурс, который можно интерпретировать во время выполнения в разных совместимых форматах, укажите нетипизированный формат в описании текстуры. Чтобы автоматически создавать уровни MIP-карты, задайте для количества уровней MIP-карты значение 0.
[in, optional] pInitialData
Тип: const D3D11_SUBRESOURCE_DATA*
Указатель на массив D3D11_SUBRESOURCE_DATA структур, описывающих подресурсы для ресурса двухмерной текстуры. Приложения не могут указывать значение NULL для pInitialData при создании ресурсов IMMUTABLE (см . D3D11_USAGE). Если ресурс имеет несколько выборок, pInitialData должен иметь значение NULL , так как ресурсы с несколькими выборками нельзя инициализировать с данными при их создании.
Если вы ничего не передаете в pInitialData, начальное содержимое памяти для ресурса будет неопределенным. В этом случае необходимо записать содержимое ресурса другим способом, прежде чем ресурс будет прочитан.
Размер этого массива можно определить по значениям в элементах MipLevels и ArraySizeструктуры D3D11_TEXTURE2D_DESC , на которую указывает pDesc , с помощью следующего вычисления:
MipLevels * ArraySize
Дополнительные сведения об этом размере массива см. в разделе Примечания.
[out, optional] ppTexture2D
Тип: ID3D11Texture2D**
Указатель на буфер, который получает указатель на интерфейс ID3D11Texture2D для созданной текстуры. Присвойте этому параметру значение NULL , чтобы проверить другие входные параметры (метод вернет S_FALSE, если другие входные параметры пройдут проверку).
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, код возврата S_OK. Коды ошибок сбоя см. в разделе Коды возврата Direct3D 11 .
Комментарии
CreateTexture2D создает ресурс двухмерной текстуры, который может содержать несколько двухмерных подресурсов. Количество текстур указывается в описании текстуры. Все текстуры в ресурсе должны иметь одинаковый формат, размер и количество уровней MIP-карты.
Все ресурсы состоят из одного или нескольких подресурсов. Для загрузки данных в текстуру приложения могут изначально предоставлять данные в виде массива D3D11_SUBRESOURCE_DATA структур, на которые указывает pInitialData, или использовать одну из функций текстурЫ D3DX, например D3DX11CreateTextureFromFile.
Для текстуры размером 32 x 32 с полной цепочкой MIP-карты массив pInitialData содержит следующие 6 элементов:
- pInitialData[0] = 32x32
- pInitialData[1] = 16x16
- pInitialData[2] = 8x8
- pInitialData[3] = 4x4
- pInitialData[4] = 2x2
- pInitialData[5] = 1x1
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3D11.lib |