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


Метод 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

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

ID3D11Device