Fungsi D3DXFilterTexture

Memfilter tingkat mipmap tekstur.

Sintaks

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

Parameter

pBaseTexture [in]

Jenis: LPDIRECT3DBASETEXTURE9

Arahkan ke antarmuka IDirect3DBaseTexture9 yang mewakili objek tekstur untuk difilter.

pPalette [out]

Jenis: const PALETTEENTRY*

Penunjuk ke struktur PALETTEENTRY yang mewakili palet 256 warna untuk diisi, atau NULL untuk format yang tidak dipalettkan. Jika palet tidak ditentukan, palet Direct3D default (palet putih buram semua) disediakan. Lihat Keterangan.

SrcLevel [in]

Jenis: UINT

Tingkat yang gambarnya digunakan untuk menghasilkan tingkat berikutnya. Menentukan D3DX_DEFAULT untuk parameter ini setara dengan menentukan 0.

MipFilter [in]

Jenis: DWORD

Kombinasi satu atau beberapa D3DX_FILTER mengontrol bagaimana mipmap difilter. Menentukan D3DX_DEFAULT untuk parameter ini setara dengan menentukan D3DX_FILTER_BOX jika ukuran tekstur adalah kekuatan dua, dan D3DX_FILTER_BOX | D3DX_FILTER_DITHER sebaliknya.

Mengembalikan nilai

Jenis: HRESULT

Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Keterangan

Filter diterapkan secara rekursif ke setiap tingkat tekstur untuk menghasilkan tingkat tekstur berikutnya.

Menulis ke permukaan tekstur non-level-nol tidak akan menyebabkan persegi panjang kotor diperbarui. Jika D3DXFilterTexture dipanggil dan permukaannya belum kotor (ini tidak mungkin dalam skenario penggunaan normal), aplikasi perlu secara eksplisit memanggil AddDirtyRect pada tekstur.

Tekstur yang dibuat di kumpulan default (D3DPOOL_DEFAULT) tidak dapat digunakan dengan D3DXFilterTexture (kecuali dibuat dengan D3DUSAGE_DYNAMIC) karena operasi penguncian diperlukan pada objek. Perhatikan bahwa kunci dilarang pada tekstur di kumpulan default (kecuali jika bersifat dinamis).

Untuk detail tentang PALETTEENTRY, lihat Platform SDK. Perhatikan bahwa pada DirectX 8.0, anggota peFlags dari struktur PALETTEENTRY tidak berfungsi seperti yang di dokumentasikan dalam Platform SDK. Anggota peFlags sekarang menjadi saluran alfa untuk format palettisasi 8-bit.

Hanya ada satu fungsi pemfilteran tekstur, tetapi dua makro yang memanggil metode ini.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Persyaratan

Persyaratan Nilai
Header
D3dx9tex.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi Tekstur di D3DX 9