Geometria obrazu
Wykład 11
Oświetlenie cd.
1. Powierzchnie chropowate.
2. Źródła światła.
3. Cienie.
4. Bryła cienia.
5. Mapowanie cieni.
6. Rzutowanie skośne.
7. Stabbing w R
3.
8. Niepunktowe źródła światła.
Powierzchnie chropowate (rough surfaces).
Powierzchnia izotropowa (isotropic surface) – powierzchnia, której właściwości są niezmienne.
Powierzchnia anizotropowa (anisotropic surface) – powierzchnia, której właściwości zależą od kierunku oddziaływania.
https://www.youtube.com/watch?v=l18dEnEfsDU
Traktujemy powierzchnię jako zbiór wielu izotropowych
mikropowierzchni, z których każda niezależnie idealnie odbija światło (model Torrance’a-Sparrowa).
Niech będzie odchyleniem standardowym nachylenia tych powierzchni. Wtedy mamy następującą zależność między intensywnością oświetlenia przychodzącego i odbitego
(wielościenny model Oren-Nayar):
gdzie jest współczynnikiem odbicia, A=1-2/2(2+0,33), B=0,452/(2+0,09),
=max(i,r), =min(i,r).
Gdy mikropowierzchnie są współpłaszczy- znowe, to =0. Zatem A=1, B=0, czyli otrzymujemy prawo Lamberta:
Lr=Licosi/.
[wikipedia]
Przykład.
https://vimeo.com/19911533
https://www.youtube.com/watch?v=CeGzga9wVFo
[wikipedia]
Współczynnik Fresnela – współczynnik odbicia fali R=Io/Ip, gdzie Io - natężenie fali odbitej, Ip – natężenie fali padającej, wyrażający się wzorem:
R = (ncos – cos)2/(ncos + cos)2 (dla fali spolaryzowanej prostopadle do płaszczyzny padania) lub
R = (cos – ncos)2/(cos + ncos)2 (dla fali spolaryzowanej równolegle do płaszczyzny padania) ,
gdzie n – współczynnik załamania ośrodka, od którego światło się odbija względem ośrodka, w którym się porusza, - kąt padania, - kąt
załamania (względem płaszczyzny padania).
Dla odbicia rozproszonego w modelu Ashikhmina-Shirleya mamy f(i,r)=(28R1/23)(1-R0)(1-(1-cos(i/2))5)(1-(1-cos(r/2))5),
gdzie R0 i R1 są odpowiednio współczynnikami Fresnela dla kąta zerowego w przypadku odbicia zwykłego i rozproszonego.
Model Ashikhmina-Shirleya ma następujące własności:
– spełnia zasadę wzajemności (Helmholza – między dwoma punktami spolaryzowana wiązka światła przebiega w obie strony z takim samym stosunkiem energii między płaszczyznami polaryzacji) i zachowania energii,
– pozwala na modelowanie odbicia od powierzchni anizotropowych, – uwzględnia współczynnik Fresnela, dzięki czemu odbijalność
zwierciadlana powierzchni wzrasta wraz ze wzrostem kąta padania, – zakłada zmienny współczynnik odbicia rozproszonego, co daje
zmniejszenie odbijalności rozproszonej wraz ze wzrostem kąta padania.
https://vimeo.com/99762021
Źródła światła.
Punktowe
Kierunkowe
Stożkowe (reflektor).
Cienie.
Cienie twarde (hard shadows).
Charakteryzują się brakiem płynnego przejścia pomiędzy punktami w cieniu i poza nim (ostre krawędzie). W naturze zwykle (rzadko) powstają, gdy źródło światła jest bardzo małe (punktowe) i
stosunkowo blisko obiektów oświetlanych.
[google]
Cienie miękkie (soft shadows).
Cienie te są najczęściej spotykanym typem cienia w świecie naturalnym.
Granice cieni nie są wyraźne. Występuje wiele tzw. półcieni
(penumbra). Rozmycie cienia wynika stąd, że źródło światła nie jest nieskończenie małym punktem w przestrzeni. W obszarze penumbry widać część źródła światła, a w całkowitym cieniu (umbrze) źródło jest zasłaniane. Dodatkowo można zaobserwować, że im dalej
znajduje się źródło światła tym cień staje się bardziej rozmyty.
[google]
Metoda bryły cienia (shadow volume method).
Bryła cienia składa się z:
- Przedniego domknięcia (light cap) złożonego z danych elementów sceny zwróconych przodem do źródła światła,
- Tylnego domknięcia (dark cap) będącego
rzutem elementów zwróconych tyłem do źródła światła na płaszczyznę w nieskończoności,
- Czworokątnych ścian łączących brzegi
przedniego domknięcia z odpowiadającymi im brzegami tylnego domknięcia.
Przykłady.
https://www.youtube.com/watch?v=69xKosYal-Y https://www.youtube.com/watch?v=leuoxREBx1s
Aby stwierdzić, czy dany punkt przestrzeni leży w cieniu należy zbadać, czy punkt leży w środku przynajmniej jednej z brył cieni.
Jest to równoważne stwierdzeniu, czy dla dowolnej półprostej o początku w danym punkcie różnica liczby przednich ścian brył przecinanych przez tę półprostą i liczby tylnych ścian brył przecinanych przez tę półprostą jest niezerowa.
Algorytm.
1.Wyznacz powierzchnie widoczne z punktu widzenia kamery.
2.Z punktu źródła światła wyznacz obiekty, które mogą rzucać cień.
3.Dla widocznych punktów sceny renderuj bryły cieni obiektów rzucających cień.
Wady metody brył cieni.
1. Duża złożoność obliczeniowa.
2. Konieczność renderowania każdego źródła światła.
3. W wersji podstawowej algorytmu obiekty muszą być siatkami trójkątów.
4. Nieodpowiednia dla obrazów z kanałem alfa.
Mapowanie cieni (shadow mapping).
Algorytm.
1. Renderowanie elementów widocznych z pozycji źródła światła.
2. Dokonanie pozostałych obliczeń oświetlenia (odbicia rozproszone, zwierciadlane) jedynie dla elementów widocznych ze źródła światła.
Zalety mapowania cieni:
1. Łatwość implementacji.
2. Szybkość.
3. Możliwość równoczesnej analizy wielu źródeł światła.
Wady mapowania cieni.
1. Dokładność wyznaczania cieni zależy od rozdzielczości mapy cieni.
2. Oryginalna metoda niewiele różni się od zwykłego badania krawędzi.
3. W przypadku wielu źródeł punktowych metoda jest czasochłonna.
4. W przypadku kierunkowych źródeł światła istnieje możliwość powstania artefaktów.
Przykłady.
https://www.youtube.com/watch?v=BACNDyDZs4w https://www.youtube.com/watch?v=_OubCAKUUAo
Niepunktowe źródła światła (area light sources).
Definicja.
Punkt p znajduje się w cieniu, gdy źródło światła nie jest widoczne z tego punktu.
Punkt p znajduje się w półcieniu, gdy źródło światła jest częściowo widoczne z tego punktu.
Punkt p znajduje się w antycieniu, gdy całe źródło światła jest widoczne z tego punktu.
źródło światła
przeszkoda
cień półcień
półcień antycień
antycień
Przykłady.
https://www.youtube.com/watch?v=SC0D7aJOySY
https://profs.etsmtl.ca/epaquette/Research/Papers/StAmour.2005.GI/
Definicja.
Wartość oświetlenia w danym punkcie p opisana jest następującą całką LS(p) = s M(cosout cosin /R2)dS
Gdzie M oznacza jasność źródła światła, R jest odległością od źródła światła, a out i in odpowiednio oznaczają kąty między wektorami normalnymi do powierzchni źródła światła i badanego obiektu a odcinkiem łączącym punkt p ze źródłem światła.
R
out
in p
Rzutowanie skośne (skewed projection).
Definicja.
Dla danej płaszczyzny rzutowania z = 0 (ekranu) i dwóch prostych (osi)
wyznaczanych przez przecięcia płaszczyzn (z = a)(x = 0) (prosta k) oraz (z = b)(y = 0) (prosta l) definiujemy rzutowanie skośne
: R3 \ {(x,y,z): z{a,b}} {(x,y,z): z = 0}
w następujący sposób:
punkt (p,q,0) jest obrazem wszystkich punktów leżących na prostej m przecho- dzącej przez (p,q,0) i przecinającej k i l oprócz mk i ml.
k l
Lemat.
Rzutowanie skośne jest zdefiniowane jednoznacznie, tzn. dla każdego
punktu z R3 \ {(x,y,z): z{a,b}}
istnieje dokładnie jeden punkt na ekranie będący jego obrazem.
Dowód.
Dany punkt p i prosta l wyznaczają płaszczyznę P, która przecina prostą k w punkcie q. Punkty p i q
jednoznacznie wyznaczają prostą, która przecina prostą l w punkcie r oraz ekran w punkcie s.
k l p
q
r
s
Lemat.
Kierunki rzutowania punktów należących do danej prostej m wyznaczają powierzchnię paraboloidy hiperbolicznej lub hiperboloidy
jednopowłokowej, w zależności od położenia prostej m.
[google]
Lemat.
Obrazem przy rzutowaniu skośnym prostej niezawartej w płaszczyznach równoległych do ekranu, zawierających proste k i l, może być punkt, prosta lub hiperbola.
Dowód.
Punkt otrzymujemy, gdy dana prosta przecina proste k i l.
Prostą otrzymamy, gdy dana prosta jest równoległa do ekranu.
W pozostałych przypadkach otrzymamy hiperbolę.
Fakt.
Rzut skośny odcinka nie musi być spójny.
Fakt.
Wnętrze spójnego rzutu skośnego wielokąta wypukłego może nie być spójne.
Wykorzystajmy w praktyce wiedzę, jak promienie światła ślizgają się po krawędziach obiektów sceny.
Siatka nieciągłości oświetlenia.
Aby realistycznie przedstawić oświetlenie sceny musimy
-określić granice obszarów, w których oświetlenie zmienia się w sposób jednostajny (siatkę nieciągłości),
-na tej podstawie określić oświetlenie w konkretnych punktach sceny (siatka nieciągłości pomaga w określeniu rzeczywistego rozmiaru źródła światła oświetlającego dany punkt).
W celu określenia siatki nieciągłości musimy zbadać następujące układy - EV – krawędź i wierzchołek przeszkody,
- EEE – trzy krawędzie przeszkód.
W pierwszym przypadku badamy płaszczyzny, w drugim zaś powierzchnie stopnia drugiego.
Oczywiście nie trzeba badać wszystkich układów.
Tworząc wcześniej podział przestrzeni z pomocą np. drzewa BSP i stosując algorytm podobny do algorytmu malarza jesteśmy w stanie
przyspieszyć ten proces, wyznaczając tylko te układy, które wpływają na kształt cieni.
Gdy określimy siatkę nieciągłości, znacznie łatwiej możemy obliczyć wartość oświetlenia w danym punkcie p, gdyż granice widzialności źródła światła z punktu p wyznaczają krawędzie, których obrazy tworzą brzeg ściany siatki zawierającej punkt p.
Należy z punktu p poprowadzić płaszczyzny zawierające odpowiednie krawędzie, aby określić obszary źródeł światła, które oświetlają punkt p i na tej podstawie obliczyć wartość oświetlenia w tym punkcie.
Co więcej, możemy wykorzystać informacje, otrzymane w trakcie tworzenia siatki nieciągłości, w postaci zależności wzajemnego
zacieniania elementów sceny. Możemy je zapamiętać w postaci grafu, po którym będziemy się przemieszczać w fazie obliczania wartości
oświetlenia.
Algorytm obliczania wartości oświetlenia.
zacznij od całkowicie oświetlonych elementów sceny;
poruszając się po grafie opisującym zależności wzajemnego zacieniania przechodź do obiektów coraz bardziej odległych od źródeł światła;
dla odpowiednich ścian siatki nieciągłości (dla różnych źródeł) oblicz wartości oświetlenia i zsumuj je po wszystkich ścianach
zawierających odpowiedni punkt;
Złożoność pesymistyczna całego algorytmu wynosi O(n4), ale w praktyce jest znacznie niższa.