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


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

Создает трехмерную текстуру.

Синтаксис

HRESULT CreateTexture3D1(
  [in]            const D3D11_TEXTURE3D_DESC1  *pDesc1,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D1             **ppTexture3D
);

Параметры

[in] pDesc1

Тип: const D3D11_TEXTURE3D_DESC1*

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

[in, optional] pInitialData

Тип: const D3D11_SUBRESOURCE_DATA*

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

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

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

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

[out, optional] ppTexture3D

Тип: ID3D11Texture3D1**

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

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

Тип: HRESULT

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

Комментарии

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

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

ID3D11Device3