Grafika komputerowa Dr inż. Michał Kruk
Reakcja ś wiat ł a z materi ą : – Odbicie ś wiat ł a – Przenikanie ś wiat ł a Zale ż ne od w ł a ś ciwo ś ci materii Zarówno dla odbicia jak i przenikania wyró ż niamy: – Odbicie lustrzane (kierunkowe) – k ą t padania jest równy k ą towi odbicia – Odbicie rozproszone (dyfuzyjne) – odbicie mo ż e by ć widoczne pod dowolnym k ą tem Modele oświetlenia
Odbicia światła Odbicie lustrzane (kierunkowe, idealne) Odbicie kierunkowe rzeczywiste Odbicie powrotne Odbicie rozproszone Odbicie rzeczywiste
Sformułowanie problemu Jaka b ę dzie warto ść piksela, je ż eli na scenie wyst ą pi ź ród ł o ś wiat ł a?
Zależności Warto ść piksela (kolor lub jasno ść ) mo ż e zale ż e ć od: – Geometrii uk ł adu – Charakterystyki ź ród ł a ś wiat ł a – Charakterystyki powierzchni obiektu – Charakterystyki rozchodzenia ś wiat ł a odbitego (t ł umienia ś wiat ł a) – Charakterystyki rozchodzenia ś wiat ł a rozproszonego
Światło otoczenia - ambient Po ł o ż enie ś wiat ł a nie jest wa ż ne Po ł o ż enie kamery nie jest wa ż ne Orientacja powierzchni (normalne) nie jest wa ż na Obiekty o ś wietlone jedynie ś wiat ł em otoczenia ś wiec ą wprost proporcjonalnie do nat ęż enia tego ś wiat ł a, pozostaj ą c o ś wietlone jednolicie na ca ł ej powierzchni
Światło otoczenia - ambient
Grafika komputerowa - Michał Kruk
Model Lamberta Jeśli obiekt jest oświetlony przez punktowe źródło światła, którego promienie rozchodzą się równomiernie we wszystkich kierunkach z jednego punktu, to jasność powierzchni oświetlonego obiektu ulega zmianie w zależności od kierunku i odległości od światła Model opisany przez Lamberta w 1760 roku Inaczej zwany jako prawo Cosinusów Lamberta
Model Lamberta Model ten opisuje zachowanie się światła odbitego dla powierzchni doskonale rozpraszających bez połysku np. kredy, nazywanych powierzchniami lambertowskimi. Takie powierzchnie wydaja sie tak samo jasne ze wszystkich kierunków obserwacji
Model Lamberta Kule wyrenderowane za pomoca modelu Lamberta. Od lewej do prawej: kd = 0.2, 0.4, 0.6, 0.8, 1.0.
Model Lamberta
Model Lamberta - rozpraszanie
Model Lamberta - tłumienie
Model Lamberta – odległość od obserwatora
Oświetlanie powierzchni lustrzanych
Model oświetlenia Phonga Rozwinięcie modelu Lamberta poprzez dodanie odbicia zwierciadlanego Odbicie zwierciadlane można zaobserwować na każdej błyszczącej powierzchni Błyszczące powierzchnie odbijają światło niejednakowo w różnych kierunkach. Na idealnie błyszczącej powierzchni, np. zwierciadle, światło odbija sie tylko w kierunku zwierciadlanego odbicia
Model oświetlenia Phonga Obserwator może widzieć światło odbite zwierciadlanie od lustra tylko wówczas, gdy kąt jest równy zero. Wraz ze wzrostem chropowatości powierzchni kąt widoczności zwierciadlanego odbicia rozszerza się. Tym samym, wraz ze wzrostem kąta intensywność odbicia zwierciadlanego ulega zmniejszeniu
Model oświetlenia Phonga Model Phonga opiera sie na założeniach: – Maksimum odbicia zwierciadlanego występuje dla alfa równego zero i szybko spada ze wzrostem kąta alfa. – Ten szybki spadek jest aproksymowany przez cos n (alfa), przy czym wykładnik n charakteryzuje zachowanie sie odbicia zwierciadlanego dla danego materiału. – Wartości n zmieniają się od 1 do kilkuset, zależnie od symulowanego materiału. – Dla n = 1 występuje szeroki łagodny spadek, natomiast większe wartości symulują ostre, zogniskowane rozświetlenie
Model oświetlenia Phonga
Wnioski Jeśli n jest w nieskończoności uzyskujemy idealne zwierciadło
Model oświetlenia przenikającego obiekt
Przeźroczystość interpolowana
Algorytm bezpośredni 1. Dla każdego widocznego piksela obrazu obliczyć jego oświetlenie Zalety: - dokładność Wady: - złożoność
Cieniowanie Wyznaczenie barwy związanej z modelem oświetlenia dla każdego punktu/piksela jest zadaniem kosztownym. Można zatem rozpatrywać cieniowanie (interpolację) które pozwoli wypełnić barwą wielokąty w sposób uproszczony. Stosuje się trzy warianty takiego wypełnienia – trzy warianty cieniowania. – – Cieniowanie płaskie (cieniowanie stałą wartością), gdy cały wielokąt jest wypełniony taką samą barwą. – Cieniowanie Gouroud. – Cieniowanie Phonga.
27 Cieniowanie płaskie (ang. flat) W najprostszym modelu, cieniowaniu płaskim, obliczane jest oświetlenie w jednym punkcie dla każdej ścianki. Czy wynik jest poprawny jeśli obiekt jest rzeczywiście złożony ze ścianek ? (Dlaczego?)
Grafika komputerowa - Michał Kruk
Cieniowanie płaskie Model oświetlenia jest używany tylko raz w celu obliczenia jednej wartości natężenia, która jest później używana do cieniowania całego wielokąta Podejście dobre gdy: –Źródło światła jest w nieskończoności – N*L jest stałe na całej powierzchni wielokąta –Obserwator jest w nieskończoności – N*L jest stałe na całej powierzchni wielokąta –Wielokąt reprezentuje faktyczną powierzchnię modelowaną
Cieniowanie płaskie - algorytm
Cieniowanie z interpolacją Lepszy efekt w porównaniu do cieniowania płaskiego Na początku dla trójkątów, następnie uogólniona dla wielokątów Eliminuje nieciągłości jasności (pasma Macha) Cieniowanie Gourauda Cieniowanie Phonga Nie mylić z modelem oświetlenia !!!
Cieniowanie Gourauda Założeniem podstawowym jest to, aby poszczególne elementy sceny opisane były jako siatki wieloboków Na brzegach widoczne elementy wielokątów
Cieniowanie Gourauda - algorytm
Cieniowanie Gourauda - właściwości Nie daje możliwości powstania lokalnego ekstremum (np. rozbłysku światła) w ramach jednego elementu płaskiego. Powoduje to uśrednienie jasności na powierzchni obiektu – efekt kredy Cieniowanie Gouraud dopuszcza powstawanie pasm Macha
Cieniowanie Phonga Cieniowanie Phonga polega na analogicznej interpolacji, tylko że nie barwy ale wektora normalnego Dwukrotnie większa złożoność obliczeniowa Praktycznie nie dopuszcza pojawienia się pasm Macha Umożliwia pokazanie rozbłysków światła
Grafika komputerowa - Michał Kruk