background image

Modelowanie oświetlenia w 

OpenGl 

background image

Obiekt nieoświetlony 

Obiekt oświetlony 

background image

Składniki modelu oświetlenia 

• Źródła światła 
• Materiały 

 

• Wektory normalne 
• Równanie oświetlenia 
• Metoda modelowania oświetlenia 

background image

Rodzaje źródeł światła 

Światło otoczenia 

Światło kierunkowe 

Światło pozycyjne 

punktowe 

Światło pozycyjne 

stożkowe (ang. spot) 

background image

Model oświetlenia (1) 

Odbicie zwierciadlane 

Odbicie rozproszone 

Odbicie światła otoczenia 

background image

Model oświetlenia(2) 

Odbicie światła otoczenia 

Odbicie rozproszone 

Odbicie zwierciadlane 

Wynik końcowy 

background image

Parametry źródła światła 

• Natężenie światła: 

– I

  

- natężenie światła otoczenia 

– I

 

- natężenie światła rozpraszanego 

– I

S   

- natężenie światła zwierciadlanego 

 

• D – kierunek świecenia 

 

• Dla świateł pozycyjnych 

– P

  

- położenie 

– S

CUT_OFF  

- kąt odcięcia światła (zakres[0.0 – 90.0], 180.0) 

– k

0 

 , k

1  

k

2 

– współczynniki tłumienia atmosferycznego światła: 

stały, liniowy, kwadratowy (zakres[0.0 – ∞)) 

– Exp

S   

- współczynnik tłumienia kątowego (zakres[0.0 – 128.0]) 

 

 

 
 

background image

Parametry materiału 

• Współczynniki odbicia: 

– K

  

- współczynnik odbicia światła otoczenia 

– K

 

- współczynnik odbicia światła rozpraszanego 

– K

S   

- współczynnik odbicia światła zwierciadlanego 

• E

M   

- kolor światła emitowanego  

• Exp

M   

- połysk (zakres [0.0 – 128.0]) 

 

 

background image

Model oświetlenia (3) 

P

P

V – oświetlany wierzchołek 
P

O

 – położenie obserwatora  

P

L

 – położenie źródła światła 

VP

O  

– wektor w kierunku obserwatora 

VP

L  

– wektor w kierunku źródła światła 

N

 

 – wektor normalny do powierzchni w punkcie V 

S

  

– wektor połowiczny pomiędzy źródłem światła a obserwatorem  

R – wektor idealnego odbicia (kierunek maksymalnego rozświetlenia) 
 

Model Phonga 

background image

Równanie oświetlenia 

gdzie: 

background image

Tłumienie kątowe 

Exp

=0

  

Exp

=2

  

Exp

=4

  

Exp

=6

  

Exp

=8

  

background image

Połysk 

Exp

=1

  

Exp

=10

  

Exp

=128

  

Exp

=30

  

background image

Wyznaczanie wektorów normalnych  

background image

Wyznaczanie wektorów normalnych  

Cieniowanie gładkie 

Cieniowanie płaskie  

(stała barwa wielokąta) 

background image

Cieniowanie wielokątów (1) 

Cieniowanie gładkie 

Cieniowanie płaskie (stałą barwą 

wielokąta) 

background image

Cieniowanie wielokątów (2) 

Cieniowanie gładkie 

Cieniowanie płaskie 

(stałą barwą wielokąta) 

Siatka wielokątów 

background image

Cieniowanie wielokątów (3) 

Wybór rodzaju cieniowania umożliwia funkcja: 
 
glShadeModelGLenum mode 
 
której parametr mode przyjmuje jedną z wartości: 
 - GL_FLAT - cieniowanie płaskie, 
 - GL_SMOOTH - cieniowanie gładkie. 
 
Domyślnie stosowane jest cieniowanie gładkie. 

background image

Przykład ustawienia parametrów 

źródła światła 

background image

Przykład ustawienia parametrów 

materiału 

background image

Przykład – oświetlony sześcian (1) 

długość boku - a 

background image

Przykład – oświetlony sześcian (2)