Функция D3DXCreateVolumeTextureFromFileEx
Создает текстуру тома из файла.
Синтаксис
HRESULT D3DXCreateVolumeTextureFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ UINT Width,
_In_ UINT Height,
_In_ UINT Depth,
_In_ UINT MipLevels,
_In_ DWORD Usage,
D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Inout_ D3DXIMAGE_INFO *pSrcInfo,
_Out_ PALETTEENTRY *pPalette,
_Out_ LPDIRECT3DVOLUMETEXTURE9 *ppTexture
);
Параметры
-
pDevice [in]
-
Тип: LPDIRECT3DDEVICE9
Указатель на интерфейс IDirect3DDevice9 , представляющий устройство, связанное с текстурой.
-
pSrcFile [in]
-
Тип: LPCTSTR
Указатель на строку, указывающую имя файла. Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в LPCWSTR. В противном случае строковый тип данных разрешается в LPCSTR. См. заметки.
-
Ширина [in]
-
Тип: UINT
Ширина в пикселях. Если это значение равно нулю или D3DX_DEFAULT, измерения берутся из файла. Максимальное измерение, которое поддерживает драйвер (для ширины, высоты и глубины), можно найти в maxVolumeExtent в D3DCAPS9.
-
Высота [in]
-
Тип: UINT
Высота в пикселях. Если это значение равно нулю или D3DX_DEFAULT, измерения берутся из файла. Максимальное измерение, которое поддерживает драйвер (для ширины, высоты и глубины), можно найти в maxVolumeExtent в D3DCAPS9.
-
Глубина [in]
-
Тип: UINT
Глубина, в пикселях. Если это значение равно нулю или D3DX_DEFAULT, измерения берутся из файла. Максимальное измерение, которое поддерживает драйвер (для ширины, высоты и глубины), можно найти в maxVolumeExtent в D3DCAPS9.
-
MipLevels [in]
-
Тип: UINT
Количество запрошенных уровней MIP. Если это значение равно нулю или D3DX_DEFAULT, создается полная цепочка MIP-карты.
-
Использование [in]
-
Тип: DWORD
0, D3DUSAGE_RENDERTARGET или D3DUSAGE_DYNAMIC. Присвоение этому флагу значения D3DUSAGE_RENDERTARGET указывает, что поверхность будет использоваться в качестве целевого объекта отрисовки. Затем ресурс можно передать в параметр pNewRenderTarget метода SetRenderTarget . Если указан D3DUSAGE_RENDERTARGET или D3DUSAGE_DYNAMIC, необходимо задать для пула значение D3DPOOL_DEFAULT, а приложение должно проверка, что устройство поддерживает эту операцию, вызвав Метод CheckDeviceFormat. D3DUSAGE_DYNAMIC указывает, что поверхность должна обрабатываться динамически. Дополнительные сведения об использовании динамических текстур см. в разделе Использование динамических текстур.
-
Формат
-
Тип: D3DFORMAT
Член перечисленного типа D3DFORMAT , описывающий запрошенный формат пикселей для текстуры. Возвращаемая текстура может иметь формат, отличный от формата, заданного параметром Format. Приложения должны проверка формат возвращаемой текстуры. Если D3DFMT_UNKNOWN, формат берется из файла. Если D3DFMT_FROM_FILE, формат принимается точно так же, как в файле, и вызов завершится ошибкой, если это нарушает возможности устройства.
-
Пул [вход]
-
Тип: D3DPOOL
Член перечисленного типа D3DPOOL , описывающий класс памяти, в который должна быть помещена текстура.
-
Фильтр [вход]
-
Тип: DWORD
Сочетание одного или нескольких D3DX_FILTER , управляющих фильтрацией изображения. Указание D3DX_DEFAULT для этого параметра эквивалентно указанию D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.
-
MipFilter [in]
-
Тип: DWORD
Сочетание одного или нескольких D3DX_FILTER , управляющих фильтрацией изображения. Указание D3DX_DEFAULT для этого параметра эквивалентно указанию D3DX_FILTER_BOX. Кроме того, используйте биты 27–31, чтобы указать количество пропущенных уровней MIP (из верхней части цепочки MIP-карты) при загрузке текстуры .dds в память; это позволяет пропустить до 32 уровней.
-
ColorKey [in]
-
Тип: D3DCOLOR
Значение D3DCOLOR для замены на прозрачный черный или 0 для отключения цветовой клавиши. Это всегда 32-разрядный цвет ARGB, независимо от формата исходного изображения. Альфа-канал имеет важное значение и обычно должен иметь значение FF для непрозрачных цветовых клавиш. Таким образом, для непрозрачного черного цвета значение будет равно 0xFF000000.
-
pSrcInfo [вход, выход]
-
Тип: D3DXIMAGE_INFO*
Указатель на D3DXIMAGE_INFO структуру, заполняемую описанием данных в файле исходного изображения или null.
-
pPalette [out]
-
Тип: PALETTEENTRY*
Указатель на структуру PALETTEENTRY , представляющую 256-цветовую палитру для заполнения или значение NULL.
-
ppTexture [out]
-
Тип: LPDIRECT3DVOLUMETEXTURE9*
Адрес указателя на интерфейс IDirect3DVolumeTexture9 , представляющий созданный объект текстуры.
Возвращаемое значение
Тип: HRESULT
Если функция выполняется успешно, возвращаемое значение будет D3D_OK. Если функция завершается сбоем, возвращаемое значение может быть одним из следующих: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Комментарии
Параметр компилятора также определяет версию функции. Если определен Юникод, вызов функции разрешается в D3DXCreateVolumeTextureFromFileExW. В противном случае вызов функции разрешается в D3DXCreateVolumeTextureFromFileExA, так как используются строки ANSI.
Эта функция поддерживает следующие форматы файлов: .bmp, DDS, DIB, HDR, .jpg, PFM, .png, PPM и TGA. См . D3DXIMAGE_FILEFORMAT.
Текстуры Mipmapped автоматически заполняют каждый уровень загруженной текстурой тома. При загрузке изображений в текстуры mipmapped некоторые устройства не могут перейти к изображению 1x1, и эта функция завершится сбоем. В этом случае образы необходимо загрузить вручную.
При пропуске уровней MIP-карты при загрузке DDS-файла используйте макрос D3DX_SKIP_DDS_MIP_LEVELS для создания значения MipFilter . Этот макрос принимает количество пропускаемых уровней и тип фильтра и возвращает значение фильтра, которое затем передается в параметр MipFilter .
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел