Функция 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:
- Масштабирование изображений и преобразование формата во время загрузки может быть медленным. Храните изображения в формате и разрешении, которые они будут использоваться. Если целевому оборудованию требуется мощность двух измерений, создайте и храните изображения с помощью двух измерений.
- Рассмотрите возможность использования файлов поверхности DirectDraw (DDS). Так как DDS-файлы можно использовать для представления любого формата текстуры Direct3D 9, их очень легко читать для D3DX. Кроме того, они могут хранить MIP-карты, поэтому для создания изображений можно использовать любые алгоритмы создания MIP-карт.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел