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


Функция D3DXCreateTextureFromFile

Создает текстуру из файла.

Синтаксис

HRESULT D3DXCreateTextureFromFile(
  _In_  LPDIRECT3DDEVICE9  pDevice,
  _In_  LPCTSTR            pSrcFile,
  _Out_ LPDIRECT3DTEXTURE9 *ppTexture
);

Параметры

pDevice [in]

Тип: LPDIRECT3DDEVICE9

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

pSrcFile [in]

Тип: LPCTSTR

Указатель на строку, указывающую имя файла. Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в LPCWSTR. В противном случае строковый тип данных разрешается в LPCSTR. См. заметки.

ppTexture [out]

Тип: LPDIRECT3DTEXTURE9*

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

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

Тип: HRESULT

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

Комментарии

Параметр компилятора также определяет версию функции. Если юникод определен, вызов функции разрешается в D3DXCreateTextureFromFileW. В противном случае вызов функции разрешается в D3DXCreateTextureFromFileA, так как используются строки ANSI.

Эта функция поддерживает следующие форматы файлов: .bmp, DDS, DIB, HDR, .jpg, PFM, .png, PPM и TGA. См . D3DXIMAGE_FILEFORMAT.

Функция эквивалентна D3DXCreateTextureFromFileEx(pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, ppTexture).

Текстуры Mipmapped автоматически заполняют каждый уровень загруженной текстурой.

При загрузке изображений в текстуры mipmapped некоторые устройства не могут перейти к изображению 1x1, и эта функция завершится сбоем. В этом случае образы необходимо загрузить вручную.

Обратите внимание, что ресурс, созданный с помощью этой функции, будет помещен в класс памяти, обозначаемый D3DPOOL_MANAGED.

Фильтрация автоматически применяется к текстуре, созданной с помощью этого метода. Фильтрация эквивалентна D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER в D3DX_FILTER.

Для оптимальной производительности при использовании D3DXCreateTextureFromFile:

  1. Масштабирование изображений и преобразование формата во время загрузки может быть медленным. Храните изображения в формате и разрешении, которые они будут использоваться. Если целевому оборудованию требуется мощность двух измерений, создайте и храните изображения с помощью двух измерений.
  2. Рассмотрите возможность использования файлов поверхности DirectDraw (DDS). Так как DDS-файлы можно использовать для представления любого формата текстуры Direct3D 9, их очень легко читать для D3DX. Кроме того, они могут хранить MIP-карты, поэтому для создания изображений можно использовать любые алгоритмы создания MIP-карт.

Требования

Требование Значение
Заголовок
D3dx9tex.h
Библиотека
D3dx9.lib

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

D3DXCreateTextureFromFileEx

Функции текстур в D3DX 9