Функция D3DXFilterTexture

Фильтрует уровни MIP-карты текстуры.

Синтаксис

HRESULT D3DXFilterTexture(
  _In_        LPDIRECT3DBASETEXTURE9 pBaseTexture,
  _Out_ const PALETTEENTRY           *pPalette,
  _In_        UINT                   SrcLevel,
  _In_        DWORD                  MipFilter
);

Параметры

pBaseTexture [in]

Тип: LPDIRECT3DBASETEXTURE9

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

pPalette [out]

Тип: const PALETTEENTRY*

Указатель на структуру PALETTEENTRY , представляющую 256-цветовую палитру для заполнения, или значение NULL для непалеттизированных форматов. Если палитра не указана, предоставляется палитра Direct3D по умолчанию (вся непрозрачная белая палитра). См. заметки.

SrcLevel [in]

Тип: UINT

Уровень, образ которого используется для создания последующих уровней. Указание D3DX_DEFAULT для этого параметра эквивалентно указанию 0.

MipFilter [in]

Тип: DWORD

Сочетание одного или нескольких D3DX_FILTER управления фильтрацией MIP-карты. Указание D3DX_DEFAULT для этого параметра эквивалентно указанию D3DX_FILTER_BOX, если размер текстуры равен двум, и D3DX_FILTER_BOX | D3DX_FILTER_DITHER в противном случае.

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

Тип: HRESULT

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

Комментарии

Фильтр рекурсивно применяется к каждому уровню текстуры для создания следующего уровня текстуры.

Запись в неуровневую поверхность текстуры не приведет к обновлению прямоугольника грязное. Если вызывается D3DXFilterTexture и поверхность еще не грязное (это маловероятно в обычных сценариях использования), приложение должно явно вызвать Метод AddDirtyRect для текстуры.

Текстуры, созданные в пуле по умолчанию (D3DPOOL_DEFAULT), нельзя использовать с D3DXFilterTexture (за исключением случаев, когда они созданы с помощью D3DUSAGE_DYNAMIC), так как для объекта требуется операция блокировки. Обратите внимание, что блокировки запрещены для текстур в пуле по умолчанию (если они не являются динамическими).

Дополнительные сведения о PALETTEENTRY см. в разделе Пакет SDK для платформы. Обратите внимание, что по состоянию на DirectX 8.0 элемент peFlags структуры PALETTEENTRY не работает, как описано в пакете SDK для платформы. Элемент peFlags теперь является альфа-каналом для 8-разрядных палеттизированных форматов.

Существует только одна функция фильтрации текстур, но два макроса, которые вызывают этот метод.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Требования

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

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

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