Skip to main content

Apa itu penyangga stensil?

Dalam pemrograman grafis komputer, buffer stensil adalah area memori yang dapat ditarik dan digunakan dalam kaitannya dengan buffer grafis lain untuk mencapai efek yang berbeda, atau untuk menutupi area adegan sehingga mereka tidak akan diproses atau diterjemahkan.Buffer stensil adalah buffer per-piksel yang mirip dengan gambar hitam dan putih, di mana setiap lokasi dalam buffer dapat menahan nilai yang paling sering 1 byte panjangnya tetapi bisa sekecil 1 bit.Buffer awalnya dirancang untuk bertindak sebagai topeng yang benar atau salah, seperti stensil dunia nyata, sehingga area adegan dapat dikaburkan atau diabaikan dengan menetapkan nilai-nilai berbagai daerah dari buffer stensil ke nilai selain nol.Ada sejumlah kegunaan untuk buffer di luar masking sederhana, termasuk menggambar volume bayangan, menerapkan lingkaran cahaya di sekitar objek atau menempatkan area di mana objek tumpang tindih satu sama lain.Dalam banyak kasus, buffer dipertahankan dalam memori grafis pada kartu grafis sehingga dapat diakses dengan cepat selama rendering.

Konsep penyangga stensil awalnya adalah cara untuk membuat topeng dua dimensi (2D) yang bisa jadiditerapkan pada adegan tiga dimensi (3D) saat simpul bergerak melalui pipa grafis.Jika lokasi verteks 3D, setelah raster, terkait dengan area buffer stensil yang tidak diatur ke nol, maka simpul itu dapat diabaikan dan sisa pemrosesan pipa dilewati.Ini memungkinkan para programmer cara untuk hanya membuat bagian kecil dari sebuah adegan atau membuat gambar menjadi viewport berbentuk tidak teratur, seperti refleksi di cermin kecil dalam adegan yang lebih besar, di mana bentuk cermin digambar sebagai stensil di dalambuffer, dan kemudian refleksi ditarik melalui bentuk itu.

Kekhawatiran memori mengarah pada bentuk asli dari buffer stensil menjadi kisi-kisi dari nilai-nilai bit tunggal di mana setiap piksel dalam buffer hanya bisa benar atau salah.Ketika kartu grafis dikembangkan, sebagian besar buffer menjadi mampu memegang nilai byte penuh di setiap lokasi piksel, memungkinkan pemrogram memiliki nilai yang lebih kompleks di suatu lokasi.Ini dapat memungkinkan buffer digunakan untuk mendeteksi area di mana objek tumpang tindih, yang dapat dilakukan dengan menambah nilai buffer di lokasi jika suatu objek menempati piksel itu pada layar saat raster.Setelah operasi ini, nilai setiap lokasi piksel dalam buffer akan sama dengan jumlah objek yang melintasi piksel itu pada layar.

Salah satu kegunaan paling populer untuk buffer stensil adalah menciptakan volume bayangan.Ini dapat dilakukan dengan terlebih dahulu memberikan adegan dengan pencahayaan yang sangat redup sehingga semuanya tampak teduh.Selanjutnya, perhitungan dibuat untuk menentukan lokasi semua permukaan poligon dalam adegan yang diterangi oleh sumber cahaya, dan bentuk -bentuk ini ditransfer ke buffer stensil.Adegan diterjemahkan lagi seolah -olah setiap objek benar -benar menyala dan dicampur melalui bentuk stensil ke adegan yang dibayangi, secara efektif membuat gambar yang tampaknya berisi objek dengan bayangan.