Метод IDirect3DDevice9::CreateTexture (d3d9helper.h)

Создает ресурс текстуры.

Синтаксис

HRESULT CreateTexture(
  [in]          UINT              Width,
  [in]          UINT              Height,
  [in]          UINT              Levels,
  [in]          DWORD             Usage,
  [in]          D3DFORMAT         Format,
  [in]          D3DPOOL           Pool,
  [out, retval] IDirect3DTexture9 **ppTexture,
  [in]          HANDLE            *pSharedHandle
);

Параметры

[in] Width

Тип: UINT

Ширина верхнего уровня текстуры в пикселях. Размеры пикселей последующих уровней — это усеченное значение половины пиксельного измерения предыдущего уровня (независимо). Каждое измерение зажимает размером 1 пиксель. Таким образом, если деление на 2 приводит к 0, вместо него будет принято 1.

[in] Height

Тип: UINT

Высота верхнего уровня текстуры в пикселях. Размеры пикселей последующих уровней — это усеченное значение половины пиксельного измерения предыдущего уровня (независимо). Каждое измерение зажимает размером 1 пиксель. Таким образом, если деление на 2 приводит к 0, вместо него будет принято 1.

[in] Levels

Тип: UINT

Количество уровней в текстуре. Если это значение равно нулю, Direct3D создаст все вложенные значения текстуры вплоть до 1 на 1 пикселя для оборудования, поддерживающего текстуры mipmapped. Вызовите метод IDirect3DBaseTexture9::GetLevelCount , чтобы просмотреть количество созданных уровней.

[in] Usage

Тип: DWORD

Использование может иметь значение 0, что указывает на отсутствие значения использования. Однако при необходимости используйте сочетание одной или нескольких констант D3DUSAGE . Рекомендуется сопоставить параметр использования с флагами поведения в IDirect3D9::CreateDevice.

[in] Format

Тип: D3DFORMAT

Член D3DFORMAT перечисляемого типа, описывающего формат всех уровней в текстуре.

[in] Pool

Тип: D3DPOOL

Член D3DPOOL перечисляемого типа, описывающего класс памяти, в который следует поместить текстуру.

[out, retval] ppTexture

Тип: IDirect3DTexture9**

Указатель на интерфейс IDirect3DTexture9 , представляющий созданный ресурс текстуры.

[in] pSharedHandle

Тип: HANDLE*

Зарезервировано. Задайте для этого параметра значение NULL. Этот параметр можно использовать в Direct3D 9 для Windows Vista для совместного использования ресурсов.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращается одно из следующих значений: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Комментарии

Приложение может обнаружить поддержку автоматического создания MIP-карт (Direct3D 9) в определенном формате, вызвав IDirect3D9::CheckDeviceFormat с D3DUSAGE_AUTOGENMIPMAP. Если IDirect3D9::CheckDeviceFormat возвращает D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture будет выполнено успешно, но он вернет одноуровневую текстуру.

В Windows Vista CreateTexture может создать текстуру из указателя системной памяти, что позволяет приложению более гибко использовать, выделять и удалять системную память. Например, приложение может передать системный указатель памяти GDI и получить интерфейс текстуры Direct3D вокруг него. Использование указателя системной памяти в CreateTexture имеет следующие ограничения.

  • Шаг текстуры должен быть равен ширине, умноженной на количество байтов на пиксель.
  • Поддерживаются только текстуры с одним уровнем MIP-карты. Аргумент Levels должен иметь значение 1.
  • Аргумент Pool должен быть D3DPOOL_SYSTEMMEM.
  • Аргумент pSharedHandle должен быть допустимым указателем на буфер, который может содержать системную точку памяти; *pSharedHandle должен быть допустимым указателем на системную память с размером в байтах ширины текстуры * высоты текстуры * байтов на пиксель формата текстуры.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9helper.h (включая D3D9.h)
Библиотека D3D9.lib

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

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9