felietony

Jak to działa? Raytracing i techniki oświetlenia globalnego

Czy nadchodzi nowa jakość?

36
1 maja 2018, 09:00 Piotr Gołąb

Modele oświetlenia

model szorstkościmodel szorstkości

W demie technologicznym Nvidii bardzo jasno podano, z jakiego modelu oświetlenia będzie korzystać raytracer. Dla wielu może to być zaskoczeniem, ale raytracing nie jest modelem oświetlenia – jest techniką oświetlenia.

Model oświetlenia decyduje o tym, jak światło będzie się zachowywać po kontakcie z powierzchnią: jak będzie się odbijało, w jaki sposób będzie rozpraszane itd. Wyróżniamy trzy rodzaje modeli oświetlenia: empiryczne, analityczne i hybrydowe.

Modele empiryczne po macoszemu traktują własności fizyczne powierzchni, ale dzięki umiejętnemu dobraniu parametrów potrafią dobrze symulować odbicie światła od powierzchni. Parametry modeli empirycznych są ustawiane na podstawie wcześniejszych eksperymentów. Zaletą tych modeli jest to, że mimo niewielkiej liczby obliczeń generowane obrazy wyglądają dobrze i do wielu zastosowań są wystarczające. Do tej kategorii zalicza się m.in. modele Lamberta, Phonga i Blinna-Phonga oraz funkcję rozbłysku.

Poniżej przedstawiamy kilka przykładowych renderingów stworzonych z wykorzystaniem modelu Phonga i Blinna-Phonga.

Oświetlenie model BlinnaOświetlenie model Blinna-Phonga

Model BlinnaModel Blinna-Phonga

Model BlinnaModel Blinna-Phonga

Po lewej stronie model oświetlenia Phonga, a po prawej Blinna-Phonga – obydwa wyrenderowane przy takiej samej wartości parametru połyskliwości

Modele fizyczne (analityczne) przy obliczaniu odbicia światła wykorzystują wiedzę o fizycznych parametrach powierzchni, zarazem biorąc pod uwagę prawa fizyki – a więc odbicia. Pociąga to za sobą wzrost kosztu obliczeniowego, ale jakość szacowanego odbicia jest znacznie lepsza niż w modelach empirycznych. Modele fizyczne są wykorzystywane wszędzie tam, gdzie niezbędna jest możliwie przybliżona symulacja odbicia. Do modeli fizycznych zaliczamy: model mikrościanek (ang. microfacets), funkcję szorstkości BRDF (z tej techniki korzysta Nvidia; opiszemy ją dokładnie nieco dalej), model Cooka-Torrance’a, model HTSG.

Poniżej na renderingu można zobaczyć efekt użycia modelu mikrościanek, a po prawej, dla porównania, tę samą scenę stworzoną z wykorzystaniem modelu Blinna.

Model mikrofacetekModel BlinnaPo lewej – rezultat użycia modelu mikrościanek, po prawej – modelu Blinna. Czajniki są miedziane

Modele hybrydowe są kompromisem pomiędzy modelami empirycznymi a modelami opartymi na prawach fizyki. Zapewniają dobrą symulację odbicia, bo wykorzystują parametry empiryczne lub fizyczne w opisie powierzchni, i mają zarazem dobrą efektywność obliczeniową. Do modeli hybrydowych zaliczamy modele: Straussa, Warda, Schlicka, Ashikmana-Shirleya. Poniżej przedstawiam scenę wyrenderowaną z użyciem modelu Warda (po lewej) i modelu mikrościanek.

Model WardaModel mikrofacetek

W stronę fotorealizmu

Nvidia zdecydowała się na model oświetlenia oparty na funkcji szorstkości, BRDF. I to właśnie jego poddamy dokładniejszej analizie.

Na początku przybliżymy, czym jest funkcja BRDF (ang. bidirectional reflectance distribution function). Opisuje ona charakterystykę odbicia promienia światła od danej powierzchni z wykorzystaniem równania funkcji odbicia. Uwzględnia oddziaływanie powierzchni na światło, które na nią pada, ponieważ różne powierzchnie mają różne właściwości fizyczne. Obejmuje zarówno modele empiryczne, jak i analityczne. Nvidia bardzo mocno podkreśla, że użyje modelu analitycznego, a dokładniej: modelu szorstkości mikrościanek.

Funkcja BRDF

Funkcja BRDF określa dwukierunkową zdolność odbijania światła przez powierzchnię i relację pomiędzy światłem padającym na powierzchnię a światłem od niej odbitym.

Gdy światło pada na powierzchnię, fale świetlne zostają poddane odbiciu, absorpcji lub przenikaniu (refrakcji), w zależności od fizycznych cech materiału, z którego zbudowana jest dana powierzchnia.

W kontekście użytego silnika renderującego, który do pierwszego odbicia używa wartości energetycznych. Celem funkcji BRDF jest obliczenie wartości radiacji (r) odbitej od powierzchni w kierunku (r), w zależności od światła padającego z kierunku (i) i wartości wypromieniowania (irradiancji) z kierunku (i).

Model powierzchni BRDF 

Wyróżniamy dwie podstawowe klasy materiałów w kontekście odbicia światła. Pierwsza klasa to powierzchnie, w których odbicie światła jest jednorodne (izotropowe) – niezależne od kąta i kierunku ułożenia cząsteczek tworzących dany materiał. Druga klasa to powierzchnie, których budowa cząsteczkowa jest zależna od kierunku i kąta ułożenia cząsteczek – są to materiały anizotropowe. Bardzo dobrym przykładem powierzchni anizotropowej są szczotkowane lub polerowane w jednym kierunku metale czy aksamit. Idealną powierzchnią izotropową jest kreda.

Materiał Anizotropowy     Materiał AnizotropowyPrzykłady powierzchni anizotropowych: szczotkowany metal i aksamitny czajniczek

Powierzchnia Izotropowa

 

Idealna powierzchnia izotropowa – kreda

Jednak nie tylko kierunek uporządkowania cząstek na powierzchni ma wpływ na odbicie. Bardzo ważna jest też mikrostruktura powierzchni. W świecie rzeczywistym powierzchnie nie są ani doskonale gładkie, ani nieskończenie szorstkie, dlatego odbicie światła zależy od ich wartości. Przyjmuje się, że parametr określający szorstkość powierzchni określa wartość odbicia na powierzchni.

Szorstkość materiałuSzorstkość materiału

Szorstkość materiałuSzorstkość materiałuPowyższe rendery pokazują zmianę odbicia zwierciadlanego przy różnych wartościach szorstkości materiału

Sposób odbijania światła jest także zależny od tego, czy materiał jest metalem czy izolatorem. W przypadku metali kolor odbijanego światła nie jest zdominowany przez barwę światła padającego; zależy też od koloru metalu. W przypadku zaś izolatorów kolor odbicia zwierciadlanego zwykle ma kolor padającego światła. 

Materiały można także podzielić na wielowarstwowe i jednowarstwowe. Materiały wielowarstwowe to te, w których można wyróżnić więcej niż jedną warstwę. Idealnym przykładem materiału wielowarstwowego jest lakier samochodowy. Składa się on z kilku warstw, z których każda przepuszcza światło. Interakcja pomiędzy poszczególnymi warstwami tworzy finalne odbicie.

materiał wielowarstwowy

Z właściwości fizycznych materiałów bardzo ważny jest też współczynnik refrakcji. Jest to wielkość wykorzystywana do obliczenia, jaka część padającego na powierzchnię promieniowania jest odbijana, a jaka wchłaniana bądź przepuszczana. Współczynnik refrakcji stanowi podstawę do obliczania odbicia w modelach oświetlenia fizycznych i hybrydowych. Od jego wartości zależy, jak się zmienia odbijalność światła wraz ze zmianą jego kąta padania na powierzchnię.

Trzeba wziąć pod uwagę, że im więcej parametrów opisujących powierzchnię, tym obliczenie odbicia jest bardziej kosztowne, a jakość generowanych obrazów – lepsza.

2