Generasi Otomatis Mipmaps (Direct3D 9)
Anda sekarang dapat secara otomatis membuat mipmap yang merupakan serangkaian tekstur, masing-masing difilter ke resolusi yang berbeda. Mipmaps umumnya digunakan untuk memberikan tingkat detail yang berbeda saat penyajian. Secara otomatis menghasilkan mipmap pada waktu pembuatan tekstur memanfaatkan pemfilteran perangkat keras karena mipmap berada di memori video.
Untuk menghasilkan mipmap secara otomatis, atur D3DUSAGE_AUTOGENMIPMAP penggunaan baru sebelum memanggil CreateTexture. Pembuatan sublevel dari titik ini benar-benar transparan terhadap aplikasi. Hanya tingkat tekstur teratas yang dapat diakses oleh aplikasi; sublevel tekstur tidak dapat diakses karena hanya akan dibuat saat diperlukan oleh driver. Dalam kasus di mana pembuatan sublevel mungkin memakan banyak waktu, gunakan GenerateMipSubLevels untuk mengisyaratkan kepada driver bahwa itu harus menghasilkan sublevel pada waktu yang sesuai untuk aplikasi.
Pemfilteran Mipmap
SetAutoGenFilterType mengontrol kualitas pemfilteran selama pembuatan otomatis. Mengubah jenis filter mengganggu sublevel mipmap dan menyebabkannya diregenerasi. Gunakan GetAutoGenFilterType untuk mendapatkan jenis filter saat ini. Jenis filter default adalah D3DTEXF_LINEAR. Jika driver tidak mendukung filter linier, jenis filter akan diatur ke D3DTEXF_POINT.
Metode ini tidak berpengaruh jika tekstur tidak dibuat dengan D3DUSAGE_AUTOGENMIPMAP Dan tidak ada kegagalan yang dikembalikan. Semua jenis filter yang didukung oleh driver untuk pemfilteran tekstur reguler didukung untuk dibuat secara otomatis kecuali D3DTEXF_NONE. Untuk setiap jenis sumber daya, driver harus mendukung semua jenis filter yang dilaporkan dalam batas filter tekstur, CubeTexture, dan volumetexture yang sesuai.
Untuk memeriksa jenis filter mana yang didukung, periksa untuk melihat batas mana yang didukung oleh anggota TextureFilterCaps dan/atau CubeTextureFilterCaps dari D3DCAPS9.
Dukungan Mipmap
D3DUSAGE_AUTOGENMIPMAP hanyalah petunjuk, dan menentukan ini selama pembuatan tekstur atau ketika memanggil CheckDeviceFormat tidak akan menyebabkan kesalahan pada salah satu jenis antarmuka driver perangkat (DDI).
Memanggil UpdateTexture ilegal ketika sumbernya adalah mipmap yang dihasilkan secara otomatis, tetapi tujuannya tidak. Sumbernya dapat menjadi mipmap yang dibuat secara tidak otomatis dan tujuannya dapat menjadi mipmap yang dihasilkan secara otomatis. Dalam hal ini, hanya tingkat pencocokan teratas yang diperbarui. Semua sublevel sumber lainnya diabaikan. Demikian pula, ketika sumber dan tujuan dibuat secara otomatis, hanya tingkat pencocokan teratas yang diperbarui. Sublevel dari sumber diabaikan dan sublevel tujuan diregenerasi.
Untuk memeriksa dukungan untuk pembuatan mipmap otomatis, periksa apakah D3DCAPS2_CANAUTOGENMIPMAP telah diatur. Jika ya, panggil CheckDeviceFormat dengan D3DUSAGE_AUTOGENMIPMAP. Jika nilai yang dikembalikan D3D_OK, mipmaps dijamin akan dibuat secara otomatis. Jika nilai yang dikembalikan D3DOK_NOAUTOGEN, ini berarti bahwa panggilan buat akan berhasil, tetapi tidak akan ada mipmap yang dihasilkan.
Topik terkait