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


Метод ID3D11Device::CreateTexture3D (d3d11.h)

Создание одной трехмерной текстуры.

Синтаксис

HRESULT CreateTexture3D(
  [in]            const D3D11_TEXTURE3D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D              **ppTexture3D
);

Параметры

[in] pDesc

Тип: const D3D11_TEXTURE3D_DESC*

Указатель на структуру D3D11_TEXTURE3D_DESC , описывающую ресурс трехмерной текстуры. Чтобы создать бестипный ресурс, который можно интерпретировать во время выполнения в разных совместимых форматах, укажите бестипный формат в описании текстуры. Чтобы автоматически создавать уровни MIP-карты, установите для количества уровней MIP-карты значение 0.

[in, optional] pInitialData

Тип: const D3D11_SUBRESOURCE_DATA*

Указатель на массив D3D11_SUBRESOURCE_DATA структур, описывающих подресурсы для ресурса трехмерной текстуры. Приложения не могут указывать значение NULL для pInitialData при создании ресурсов IMMUTABLE (см . D3D11_USAGE). Если ресурс имеет несколько выборок, значение pInitialData должно иметь значение NULL , так как ресурсы с несколькими выборками не могут быть инициализированы с данными при их создании.

Если ничего не передать в pInitialData, начальное содержимое памяти для ресурса не определено. В этом случае необходимо записать содержимое ресурса другим способом, прежде чем он будет прочитан.

Размер этого массива можно определить по значению в элементе MipLevelsструктуры D3D11_TEXTURE3D_DESC , на которую указывает pDesc . Массивы трехмерных текстур тома не поддерживаются.

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

[out, optional] ppTexture3D

Тип: ID3D11Texture3D**

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

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

Тип: HRESULT

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

Комментарии

CreateTexture3D создает ресурс трехмерной текстуры, который может содержать ряд трехмерных подресурсов. Количество текстур указывается в описании текстуры. Все текстуры в ресурсе должны иметь одинаковый формат, размер и количество уровней MIP-карты.

Все ресурсы состоят из одного или нескольких подресурсов. Для загрузки данных в текстуру приложения могут изначально предоставлять данные в виде массива D3D11_SUBRESOURCE_DATA структур, на которые указывает pInitialData, или использовать одну из функций текстурЫ D3DX, например D3DX11CreateTextureFromFile.

Каждый элемент pInitialData предоставляет все срезы, определенные для заданного miplevel. Например, для текстуры тома размером 32 x 32 x 4 с полной цепочкой MIP-карты массив содержит следующие 6 элементов:

  • pInitialData[0] = 32x32 с 4 срезами
  • pInitialData[1] = 16x16 с 2 срезами
  • pInitialData[2] = 8x8 с 1 срезом
  • pInitialData[3] = 4x4 с 1 срезом
  • pInitialData[4] = 2x2 с 1 срезом
  • pInitialData[5] = 1x1 с 1 срезом

Требования

Требование Значение
Целевая платформа Windows
Header d3d11.h
Библиотека D3D11.lib

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

ID3D11Device