Przezroczystość: Różnice pomiędzy wersjami
Linia 12: | Linia 12: | ||
== Fazy renderowania == | == Fazy renderowania == | ||
− | Renderowanie | + | Renderowanie geometrii odbywa się w dwóch fazach: |
+ | * faza przezroczystych | ||
+ | * faza nieprzezroczystych | ||
− | + | Faza renderowania zależy od: | |
+ | * właściwości Opacity (dla submodeli) - wartość 1 oznacza fazę nieprzezroczystych, wartości mniejsze od 1 - fazę przezroczystych. | ||
+ | * użytego materiału (dla terenu) - jeżeli pierwsza tekstura materiału ma nazwę rozpoczynającą się od znaku ''@''. | ||
+ | |||
+ | |||
+ | === Faza przezroczystych === | ||
+ | Umożliwia renderowanie półprzezroczystości, np. szyb lub wody. Sortowanie wielu planów półprzezroczystych kuleje i część takowych obiektów może nie być wyświetlana. | ||
+ | |||
+ | === Faza nieprzezroczystych === | ||
+ | Umożliwia renderowanie tylko całkowitej przezroczystości lub całkowitej nieprzezroczystości. Piksele o przezroczystości mniejszej niż 0.5 staną się przezroczyste, a pozostałe nieprzezroczyste. | ||
== Progowanie == | == Progowanie == |
Wersja z 12:13, 7 gru 2022
Przezroczystość tekstur w symulatorze jest dość skomplikowanym aspektem. Niniejszy artykuł stara się kompleksowo wyjaśnić zawiłości obsługi przezroczystości.
ARTYKUL W BUDOWIE
Spis treści
Podstawowa wiedza
TO DO - czym jest kanał alfa - czym jest alfa blend - czym jest alfa clip
Fazy renderowania
Renderowanie geometrii odbywa się w dwóch fazach:
- faza przezroczystych
- faza nieprzezroczystych
Faza renderowania zależy od:
- właściwości Opacity (dla submodeli) - wartość 1 oznacza fazę nieprzezroczystych, wartości mniejsze od 1 - fazę przezroczystych.
- użytego materiału (dla terenu) - jeżeli pierwsza tekstura materiału ma nazwę rozpoczynającą się od znaku @.
Faza przezroczystych
Umożliwia renderowanie półprzezroczystości, np. szyb lub wody. Sortowanie wielu planów półprzezroczystych kuleje i część takowych obiektów może nie być wyświetlana.
Faza nieprzezroczystych
Umożliwia renderowanie tylko całkowitej przezroczystości lub całkowitej nieprzezroczystości. Piksele o przezroczystości mniejszej niż 0.5 staną się przezroczyste, a pozostałe nieprzezroczyste.
Progowanie
Wartość opacity w materiale oznacza próg renderowania. Na geometrii nieprzezroczystej (opacity 1) wyświetlone będą piksele o wartości alfy większej od zadanego progu. Na geometrii przezroczystej (opacity 0) będą renderowane piksele o wartości alfy mniejszej od zadanego progu.
Kolejność renderowania przezroczystości
Trójkąty w fazie przezroczystych (alfa blend; opacity 0) muszą być rysowane od najdalszych kamery do najbliższych.
Najdalsze od kamery muszą być u dołu pliku t3d, najbliższe kamery u góry. Tyczy się to zarówno trójkątów w ramach jednego submodelu (szyby wiaty, hali dworca, itp) jak i różnych submodeli (podświetlenia i szybki mierników w kabinie).
Dzieci niższego stopnia są rysowane po rodzicu. Więc jeśli plan3 znajduje się technicznie pod planem2 w t3d, ale jego rodzic jest nad planem2 to i tak zostanie namalowany w złej kolejności.
Sortowanie tak nie boli nowego renderera, ale wyłazi na legacy. Zawsze więc warto swoje dzieło przejrzeć na obu. Do testerów też się to odnosi. Jak gdzieś ginie podświetlenie/szybki, to na 90% ma pomieszane fazy renderowania albo kolejność obiektów w modelu.