Przezroczystość

Z MaSzyna
Skocz do: nawigacja, szukaj

Przezroczystość tekstur w symulatorze jest dość skomplikowanym aspektem. Niniejszy artykuł stara się kompleksowo wyjaśnić zawiłości obsługi przezroczystości.


Fazy renderowania

Renderowanie obiektów (w tym przypadku submodeli i terenu) może odbywać się w fazie nieprzezroczystych lub fazie przezroczystych. Odpowiednia konfiguracja fazy renderowania zapewnia prawidłowe wyświetlanie przezroczystych tekstur, dlatego kluczowe jest ich zrozumienie na samym początku.

Renderowanie odbywa się w dwóch przebiegach. Parametr materiału opacity definiuje, czy dany obiekt będzie renderowany w przebiegu przezroczystych opacity: 0. Wtedy wyświetlane są jego półprzezroczystości, ale sortowanie wielu planów półprzezroczystych kuleje i część takowych obiektów może nie być wyświetlana. Dla opacity: 100 przezroczystość ucinana jest do binarnej (w najnowszych exe dla alfy 50%) i nie ma problemu z sortowaniem.

Progowanie

Wartość opacity w materiale oznacza próg renderowania. Na geometrii nieprzezroczystej (opacity 100) 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.