background image

Grafika komputerowa: Cieniowanie

Cieniowanie (ang. Shading)

Rados"aw Mantiuk

Wydzia" Informatyki 

Zachodniopomorski Uniwersytet Technologiczny

Grafika komputerowa: Cieniowanie

Scena 3D

Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do

wygenerowania obrazu wyj$ciowego 2D.

-

Definicja geometrii obiektów 3D.

-

Definicja materia"ów pokrywaj(cych obiekty.

-

Kolor powierzchni obiektów.

-

Tekstura.

-

W"asno$ci powierzchni.

-

Kamera.

-

)ród"a $wiat"a.

-

Parametry $rodowiska (mg"a, dym, itp.).

Obraz wyj$ciowy

Scena 3D

Grafika komputerowa: Cieniowanie

Scena 3D - Materia"

Sk!adowe koloru

 obiektu:

-

kolor otoczenia (ang. 

ambient

),

-

kolor #wiat!a rozproszonego (ang. 

diffuse

),

-

kolor rozb!ysków (ang. 

specular

).

ambient

diffuse

specular

= ambinet + diffuse

= ambinet + diffuse + specular

Grafika komputerowa: Cieniowanie

Obliczenie koloru powierzchni (ang. Lighting)

!wiat"o biegnie od #ród"a $wiat"a, odbija si% od powierzchni obiektów i trafia do oka.
Kolor powierzchni zale&y od ilo$ci $wiat"a odbitegopoch!oni"tego oraz
wyemitowanego przez powierzchni%. Powierzchnia mo&e w ró&ny sposób oddzia"ywa'
z ró&nymi d"ugo$ciami fal $wietlnych.

Powierzchnia b%dzie mia"a kolor czerwony, je&eli poch"ania wszyskie d"ugo$ci fal z
wyj(tkiem d"ugo$ci odpowiadaj(cych barwie czerwonej.

Pictures courtasy of MIT, Lecture Notes 6.837 

background image

Grafika komputerowa: Cieniowanie

Model o$wietlenia

Model o$wietlenia

 (ang. illumination model) - sposób obliczania rozchodzenia si% $wiat"a

w danym otoczeniu (obliczanie kolorów powierzchni).

Parametry powierzchni

 - sk"adowe ambient, diffuse i specular materia"u

)ród"o $wiat"a

 - obiekt emituj(cy $wiat"o (ang. illumination).

Lighting 

- obliczanie koloru powierzchni (np. koloru w wierzcho"kach trójk(ta).

Shading

 - obliczanie koloru pikseli wewn(trz wielok(ta.

wektory normalne

 - parametryzuj(

kszta"t powierzchni, zmieniaj(c kierunek
wektorów normalnych mo&na zmieni'
sposób interakcji powierzchni i $wiat"a

Pictures courtasy of MIT, Lecture Notes 6.837 

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia (model Phong’a)(1)

Obliczenie koloru w wierzcho!kach wielok$tów na podstawie parametrów
powierzchni oraz parametrów #róde" $wiat"a.

"

n

l

p

r

v

i

spec

m

spec

s

spec

" (r)

m

shi

i

amb

m

amb

s

amb

i

tot

i

amb

+

(i

diff

k

i

spec

k

)

k=1

N

"

i

diff

m

diff

s

diff

" (n)

Pictures courtasy of MIT, Lecture Notes 6.837 

model o$wietlenia Phong'a

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia (2)

ambient

ambient + diffuse

ambient +
specular

ambient +
diffuse +
specular

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia - sk"adowa ambient

Aproksymacja o$wietlenia $wiat"em odbitym od innych obiektów znajduj(cych si% na
scenie.

Aproksymacja o$wietlenia globalnego, zachowanie widoczno$ci obiektów znajduj(cych
si% w cieniu.

background image

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia - sk"adowa diffuse

O$wietlenie zale&ne od w"asno$ci materia"ów oraz w"asno$ci #róde" $wiat"a.

Prawo Lamberta

 - ilo$' $wiat"a docieraj(ca do powierzchni jest proporcjonalna do

kosinusa k(ta mi%dzy normaln( do powierzchni i kierunkiem do #ród"a $wiat"a (istotne
s( k(ty do 90 stopni).

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia - sk"adowa specular

i

spec

m

spec

s

spec

" (r)

m

shi

Prawo Snell’a

 - w przypadku odbicia k(t odbicia równy jest k(towi padania.

Niektóre powierzchnie (np. metaliczne) s( zbudowane z
elementów odbijaj(cych $wiat"o (lustro jest przyk"adem
powierzchni idealnie odbijaj(cej).
Dla takich powierzchni wi%kszo$' $wiat"a odbijana jest w
kierunku odbicia, wraz z oddalaniem si% od tego kierunku
ilo$' $wiat"a maleje.

Sk!adowa specular zale%y od 

po!o%enia obserwatora

, parametrów powierzchni i

#róde" $wiat"a.

Pictures courtasy of MIT, Lecture Notes 6.837 

Grafika komputerowa: Cieniowanie

Równanie o$wietlenia - sk"adowa specular

Pictures courtasy of MIT, Lecture Notes 6.837 

Grafika komputerowa: Cieniowanie

Modele o$wietlenia bazuj(ce na prawach fizyki

Bidirectional Reflectance Distribution
Function (BRDF)

 - funkcja opisuj!ca

interakcj" #wiat$a z dan! powierzchni!.

Model Phong’a jest aproksymacj( rzeczywistego modelu o$wietlenia.

Powierzchnie anizotropowe

 - ró&ny

sposób odbicia $wiat"a dla ró&nych
kierunków padania.

Pictures courtasy of MIT, Lecture Notes 6.837 

background image

Grafika komputerowa: Cieniowanie

Cieniowanie w rastrze (ang. shading)

• Cieniowanie p"askie (ang. flat shading).
• Cieniowanie Gourraud’a. 
• Cieniowanie Phong’a.

p"askie

Gouraud

Phong

Obliczanie kolorów pikseli wewn$trz wielok$ta na podstawie kolorów wierzcho!ków.

Grafika komputerowa: Cieniowanie

Cieniowanie p"askie

Dla ca"ego wielok(ta u$redniony kolor wierzcho"ków.

C1

C3

C2

Kolor = (C1+C2+C3)/3

Grafika komputerowa: Cieniowanie

Cieniowanie Gouraud

Interpolacja liniowa koloru wierzcho"ków. Ze wzrostem odleg"o$ci od wierzcho"ka maleje
jego wp"ywa na kolor piksela.

Grafika komputerowa: Cieniowanie

Cieniowanie Phong’a

Interpolacja liniowa wektorów normalnych. Kolor piksela obliczany na podstawie wektora
normalnego obliczonego dla danego piksela.

zmiana potoku graficznego

background image

Grafika komputerowa: Cieniowanie

Cieniowanie Phong’a: Potok graficzny

Scena 3D
• wielok(ty (po"o&enie wierzcho"ków XYZ))
• kolory (wektor RGB)
• wektory normalne (N)
• tekstury (wspó". tektury (u,v))

bufor ramki
(ang. frame buffer)

wspó!. lokalne 
-> wspó!. globalne

(macierz transform.)

rzutowanie

(macierz 
rzutowania)

obliczenie koloru
(

równanie 

o#wietlenia

 dla 

wierzcho"ków)

przej$cie do 
wspó". rastrowych

clipping

teksturowanie

cieniowanie

(Phong'a)

pomijanie 
niewidocznych 
pikseli
(

bufor Z

)

Rozwi$zywanie równania o#wietlenia
dla ka%dego piksel.

Grafika komputerowa: Cieniowanie

Literatura

1.

Tomas Moller, Eric Haines, Real-Time Rendering, A K Peters, ISBN 1-56881-101-2

2.

“Lecture notes on Graphics. Lecture 6.837”, Computer Graphics Group,
Massachusetts Institute of Technology,
http://groups.csail.mit.edu/graphics/classes/6.837/F01/notes.html.