Функция D3DXFilterTexture
Фильтрует уровни MIP-карты текстуры.
Синтаксис
HRESULT D3DXFilterTexture(
_In_ LPDIRECT3DBASETEXTURE9 pBaseTexture,
_Out_ const PALETTEENTRY *pPalette,
_In_ UINT SrcLevel,
_In_ DWORD MipFilter
);
Параметры
-
pBaseTexture [in]
-
Указатель на интерфейс 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
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел