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


Метод ID3D11Device3::CreateTexture2D1 (d3d11_3.h)

Создает двухd-текстуру.

Синтаксис

HRESULT CreateTexture2D1(
  [in]            const D3D11_TEXTURE2D_DESC1  *pDesc1,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture2D1             **ppTexture2D
);

Параметры

[in] pDesc1

Тип: const D3D11_TEXTURE2D_DESC1*

Указатель на структуру D3D11_TEXTURE2D_DESC1 , описывающую ресурс двухмерной текстуры. Чтобы создать бестипный ресурс, который можно интерпретировать во время выполнения в разных совместимых форматах, укажите бестипный формат в описании текстуры. Чтобы автоматически создавать уровни 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_DESC1 , на которую указывает pDesc1 , с помощью следующего вычисления:

MipLevels * ArraySize

Дополнительные сведения об этом размере массива см. в разделе Примечания.

[out, optional] ppTexture2D

Тип: ID3D11Texture2D1**

Указатель на блок памяти, получающий указатель на интерфейс ID3D11Texture2D1 для созданной текстуры. Присвойте этому параметру значение NULL , чтобы проверить другие входные параметры (метод вернет S_FALSE , если другие входные параметры проходят проверку).

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, код возврата S_OK. Коды ошибок с ошибкой см. в разделе Коды возврата Direct3D 11 .

Комментарии

CreateTexture2D1 создает ресурс двухмерной текстуры, который может содержать несколько двухмерных подресурсов. Количество подресурсов указывается в описании текстуры. Все текстуры в ресурсе должны иметь одинаковый формат, размер и количество уровней 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 10 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header d3d11_3.h
Библиотека D3D11.lib

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

ID3D11Device3