Memahami rasterisasi dan algoritma pelukis mungkin bisa membantu.
Salah satu cara rendering grafik vektor (grafis yang ditentukan oleh poligon, bukan piksel) ke piksel adalah dengan merasterisasi poligon saat menjalankan algoritme pelukis.
Algoritma pelukis adalah proses bottom-up di mana Anda pertama kali meletakkan latar belakang, kemudian menggambar di atas latar belakang itu dengan setiap lapisan warna sampai Anda mencapai lapisan atas.
Saat Anda menyimpan lapisan, Anda memperhatikan cakupannya (biasanya disimpan dalam saluran tambahan, saluran alpha), dan menggunakannya untuk mencampur warna yang ditambahkan dengan apa yang sudah ada.
Jika layer baru Anda mencakup piksel sebesar 50%, dan itu berwarna biru, Anda rata-rata warna piksel saat itu dengan biru dan menggambar yang ada di sana.
Segalanya menjadi sedikit lebih rumit jika Anda membuat gambar dengan transparansi, tetapi tidak secara mendasar.
Rasterisasi adalah proses mengubah poligon menjadi piksel. Di sini, kami menghitung seberapa banyak poligon mencakup piksel yang diberikan menggunakan aljabar, lalu menghitung jumlah cakupan.
Jika Anda memiliki dua sisi poligon yang bertepatan - persis di atas satu sama lain - tetapi keduanya menutupi setengah piksel yang diberikan, yang terjadi adalah masalah.
Misalkan poligon bawah berwarna merah dan biru atas dan latar belakang putih.
Pertama kita mengecat merah. Ini bercampur dengan putih, mengarah ke 50% putih, 50% merah.
Kami kemudian mengecat biru. Ini bercampur dengan 50% putih 50% merah dan kami mendapatkan 25% putih 25% merah 50% biru. Hal yang sama terjadi jika merah dan biru bertemu di tengah, atau jika biru menutupi merah sepenuhnya.
Tapi "pada kenyataannya" poligon biru benar-benar menutupi yang merah, jadi mengapa kita melihatnya? Karena algoritma lupa perincian penentuan posisi sub-pixel.
Selama ada cakupan 100% dari satu poligon, ini bukan masalah.
Sekarang, masalah ini tidak mendasar. Anda dapat melakukan rendering poligon dengan pendekatan seperti ray-tracing (di mana Anda over-render dengan faktor N ^ 2 pada titik-titik), atau bahkan pendekatan seperti vektor murni (di mana Anda mengurangi pemblokiran bentuk dari geometri bentuk di bawah mereka, hilangkan mereka). Dalam kedua kasus tidak melakukan "tersembunyi" warna bocor ke gambar output.
Algoritma pelukis bukanlah satu-satunya kasus di mana geometri "tersembunyi" dapat bocor. Jika Anda mencetak dengan media buram, terkadang lapisan warna tidak selaras sempurna. Jadi lapisan bawah bocor ketika lapisan paling atas harus menutupinya sepenuhnya.
Karena Anda tidak tahu bagaimana gambar vektor Anda akan dihasilkan, takik seperti itu memungkinkan Anda membuat gambar yang lebih kuat terhadap teknik pencetakan / tampilan yang tidak sempurna.