Subsurface Scattering

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

# Subsurface Scattering

Wed
11
Jun 2008

W ostatnich dniach pracowałem nad SSS - Subsurface Scattering. Zacząłem od artykułu Simon Green, "Real-Time Approximations to Subsurface Scattering" z książki "GPU Gems 1" (rozdz. 16). Metoda działa tak jak Shadow Mapping, tekstura przedstawia głębokość z punktu widzenia światła i z niej wyliczana jest w każdym miejscu grubość obiektu w kierunku źródła światła. Nie uzyskałem zadowalającego efektu. Model wygląda dziwnie i wyraźnie widać na nim "cień" od światła. Nie o to chodzi.

Wkurzony, wziąłem do ręki plastikowy przedmiot i obserwowałem go pod różnymi kątami padania światła, żeby opracować swój model SSS. Moja główna obserwacja polega na tym, że najważniejsza jest grubość modelu w kierunku patrzenia kamery, niezależnie od światła. Renderowanie głębokości z punktu widzenia przeciwnego do kamery dało dobry efekt, najlepszy jaki udało mi się uzyskać.

Ta metoda działa idealnie dla obiektów wypukłych, ale dla niewypukłych pod niektórymi kątami wyraźnie widać niestety geometrię z przeciwnej strony modelu.

Potem spróbowałem wyliczyć i zapisać w wierzchołkach grubość modelu w danym miejscu w kierunku zanegowanej normalnej. Efekt, jak można się spodziewać, jest daleki od oczekiwanego, bo pojedyncza grubość nie bierze pod uwagę kąta patrzenia kamery ani światła.

Wreszcie, spróbowałem wyliczać i zapisywać dla każdego wierzchołka po 3 grubości w 3 różnych kierunkach, zgodnie z "bazą Half-Life 2", której Valve użyło do Radiosity Normal Mapping. Gdyby się udało, to by mógł być epokowy wynalazek :) Ale się nie udało.

Comments | #rendering Share

Comments

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2019