Bagikan melalui


Pemfilteran tekstur

Pemfilteran tekstur menghasilkan warna untuk setiap piksel dalam gambar yang dirender 2D primitif saat primitif dirender dengan memetakan primitif 3D ke layar 2D.

Saat Direct3D merender primitif, Direct3D memetakan primitif 3D ke layar 2D. Jika primitif memiliki tekstur, Direct3D harus menggunakan tekstur tersebut untuk menghasilkan warna untuk setiap piksel dalam gambar yang dirender 2D primitif. Untuk setiap piksel dalam gambar di layar primitif, piksel harus mendapatkan nilai warna dari tekstur. Proses ini disebut pemfilteran tekstur.

Saat operasi filter tekstur dilakukan, tekstur yang digunakan biasanya juga diperbesar atau dikurangi. Dengan kata lain, itu sedang dipetakan ke dalam gambar primitif yang lebih besar atau lebih kecil dari dirinya sendiri. Pembesaran tekstur dapat mengakibatkan banyak piksel dipetakan ke satu texel. Hasilnya bisa menjadi penampilan yang chunky. Minifikasi tekstur sering berarti bahwa satu piksel dipetakan ke banyak texel. Gambar yang dihasilkan dapat buram atau alias. Untuk mengatasi masalah ini, beberapa perpaduan warna texel harus dilakukan untuk sampai pada warna untuk piksel.

Direct3D menyederhanakan proses pemfilteran tekstur yang kompleks. Ini memberi Anda tiga jenis pemfilteran tekstur - pemfilteran linier, pemfilteran anisotropik, dan pemfilteran mipmap. Jika Anda tidak memilih pemfilteran tekstur, Direct3D menggunakan teknik yang disebut pengambilan sampel titik terdekat.

Setiap jenis pemfilteran tekstur memiliki kelebihan dan kekurangan. Misalnya, pemfilteran tekstur linier dapat menghasilkan tepi berjatuhan atau tampilan gugus di gambar akhir. Namun, ini adalah metode komputasi pemfilteran tekstur overhead rendah. Pemfilteran dengan mipmap biasanya menghasilkan hasil terbaik, terutama jika dikombinasikan dengan pemfilteran anisotropik. Namun, ini membutuhkan memori terbanyak dari teknik yang didukung Direct3D.

Jenis pemfilteran tekstur

Direct3D mendukung pendekatan pemfilteran tekstur berikut.

Di bagian ini

Topik Deskripsi

Pengambilan sampel titik terdekat

Aplikasi tidak diperlukan untuk menggunakan pemfilteran tekstur. Direct3D dapat diatur sehingga menghitung alamat texel, yang sering tidak mengevaluasi bilangan bulat, dan menyalin warna texel dengan alamat bilangan bulat terdekat. Proses ini disebut pengambilan sampel titik terdekat.

Pemfilteran tekstur bilinear

Pemfilteran bilinear menghitung rata-rata tertimbang dari 4 texel yang paling dekat dengan titik pengambilan sampel. Pendekatan pemfilteran ini lebih akurat dan umum daripada pemfilteran titik terdekat. Pendekatan ini efisien karena diimplementasikan dalam perangkat keras grafis modern.

Pemfilteran tekstur anisotropik

Anisotropy adalah distorsi yang terlihat di texel objek 3D yang permukaannya berorientasi pada sudut sehubungan dengan bidang layar. Ketika piksel dari primitif anisotropik dipetakan ke texel, bentuknya terdistorsi.

Pemfilteran tekstur dengan mipmaps

Mipmap adalah urutan tekstur, yang masing-masing merupakan representasi resolusi yang semakin rendah dari gambar yang sama. Tinggi dan lebar setiap gambar, atau tingkat, dalam mipmap adalah kekuatan dua lebih kecil dari tingkat sebelumnya.

 

Tekstur