Bitişik üçgenler rasterleştirildiğinde neden üst üste gelmiyor?


11

Aşağıdaki noob sorusu için özür dilerim, sadece hiçbir yerde tatmin edici bir cevap bulamıyorum ...

İki üçgenden oluşan basit bir eksenle hizalanmış dörtlü oluşturduğumda, bu üçgenlerin buluştuğu köşegen kenarda neden hiçbir zaman görünür bir eser olmadığını anlamıyorum. Bu piksellerin bazıları her iki üçgende olmalı, değil mi? Yani, fragshader'ım her zaman kısmen şeffaf bir renk yayarsa -% 50 siyah demek - sonuçta ortaya çıkan dörtlüde görünür bir koyu çapraz çizgi olmamalı mı?

Açıkçası bu kodlanması gereken gerçek bir sorun değil, sadece neden olmadığını anlamıyorum. Bunun her zaman çalışmasını sağlayan hangi GPU büyüsü?

Yanıtlar:


10

Bu, Tarama dönüşümü sırasında örnek boşlukları nelerdir?

Kısaca, rasterleştirme - en azından donanım sistemlerinin çoğunluğu ile - bu pikselin belirli bir üçgen içinde olup olmadığını belirlemek için her piksel için tek bir 'sonsuz' noktada test eder.

Örnek noktası tam olarak bir kenarda bulunuyorsa, genellikle "doldurma kuralları" olarak adlandırılan ek bağlayıcı kurallar devreye girer. Genellikle bunlar, örneğin, bir üçgenin üst / sol ** kenarlarındaki kenar noktalarının "içeride" olduğunu düşünen bir şey olacaktır.

** Diğer kurallar da mevcuttur ;-)


Evet, sadece bu cevabı arıyordum
joojaa

1
Kara Kitaptan ilgili bölüm: jagregory.com/abrash-black-book/…
bblack

Çok teşekkürler! Sorta tür şimdi mantıklı ve bu kara kitap da harika bir kaynak gibi görünüyor
Reuben Scratton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.