Ostatnio widziałem niektóre gry 3D (np . :), które GTA IV
używają pewnego rodzaju uporządkowanego ditheringu do symulacji przezroczystości / alfa.
Wielokąty nie są przezroczyste jak zwykle, ale zamiast tego renderują teksturę ditheringu, która stopniowo zmienia się z lewej na prawą, aby symulować przezroczystość:
Efekt nie jest nieprzyjemny, ale raczej zaskakujący na początku (w porównaniu z tradycyjnym mieszaniem alfa)
Z wyjątkiem wizualnego efektu estetycznego, jaki wywołuje, czy jest jakiś powód, dla którego niektóre gry to robią (lepsza wydajność, oszczędność przepustowości lub coś innego, o czym nie myślę)?
Szukałem w Internecie, ale nie znalazłem nic na temat tej techniki.
textures
rendering
transparency
alpha
tigrou
źródło
źródło
Odpowiedzi:
Jest to dość powszechne podejście do przejrzystości w grach wykorzystujących odroczone cieniowanie. Właściwa przezroczystość w ogóle nie działa dobrze z odroczonym cieniowaniem, ponieważ tylko dane jednej powierzchni (głębokość, normalny wektor, kolor itp.) Mogą być przechowywane w każdym pikselu, a odpowiednia przezroczystość obejmuje nakładanie się wielu powierzchni na piksel, z których każda wymaga niezależnego oświetlenie.
Silniki gier radzą sobie z tym na kilka sposobów:
Można również zastosować kombinację tych podejść, np. Cieniowanie do przodu w przypadku szklanych okien i stippling dla przejść LOD.
Warto również zauważyć, że niektóre gry używają stippling do miękkich cieni. Jest to kompromis w zakresie wydajności; ładniejsze cienie wymagają większej liczby próbek tekstury w module cieniującym piksele, co zajmuje więcej czasu, ale można uzyskać dobre wyniki, używając mniejszej liczby próbek i losowo przesuwając ich pozycje. Przesunięcie losowe powoduje efekt stippling.
źródło
Jest to prosty kompromis wydajności. Mieszanie alfa wymaga odczytu z bieżącego bufora kolorów, podczas gdy ten rodzaj roztrząsania jest tylko do zapisu (lub oczywiście tylko do odrzucenia).
Możliwe jest połączenie tej techniki z multisamplingiem, który jest wówczas nazywany „ alfa” dla pokrycia .
źródło