Modelowanie oświetlenia w OpenGl


Modelowanie oświetlenia w
OpenGl
Obiekt nieoświetlony Obiekt oświetlony
Składniki modelu oświetlenia
" yródła światła
" Materiały
" Wektory normalne
" Równanie oświetlenia
" Metoda modelowania oświetlenia
Rodzaje zródeł światła
Światło otoczenia Światło kierunkowe
Światło pozycyjne
Światło pozycyjne
punktowe
stożkowe (ang. spot)
Model oświetlenia (1)
Odbicie zwierciadlane
Odbicie rozproszone
Odbicie światła otoczenia
Model oświetlenia(2)
Odbicie światła otoczenia Odbicie rozproszone Odbicie zwierciadlane
Wynik końcowy
Parametry zródła światła
" Natężenie światła:
 IA - natężenie światła otoczenia
 ID - natężenie światła rozpraszanego
 IS - natężenie światła zwierciadlanego
" D  kierunek świecenia
" Dla świateł pozycyjnych
 PL - położenie
 SCUT_OFF - kąt odcięcia światła (zakres[0.0  90.0], 180.0)
 k0 , k1 , k2  współczynniki tłumienia atmosferycznego światła:
stały, liniowy, kwadratowy (zakres[0.0  "))
 ExpS - współczynnik tłumienia kątowego (zakres[0.0  128.0])
Parametry materiału
" Współczynniki odbicia:
 KA - współczynnik odbicia światła otoczenia
 KD - współczynnik odbicia światła rozpraszanego
 KS - współczynnik odbicia światła zwierciadlanego
" EM - kolor światła emitowanego
" ExpM - połysk (zakres [0.0  128.0])
Model oświetlenia (3)
PL
PO
Model Phonga
V  oświetlany wierzchołek
PO  położenie obserwatora
PL  położenie zródła światła
VPO  wektor w kierunku obserwatora
VPL  wektor w kierunku zródła światła
N  wektor normalny do powierzchni w punkcie V
S  wektor połowiczny pomiędzy zródłem światła a obserwatorem
R  wektor idealnego odbicia (kierunek maksymalnego rozświetlenia)
Równanie oświetlenia
gdzie:
Tłumienie kątowe
ExpS =0 ExpS =2 ExpS =4
ExpS =6 ExpS =8
Połysk
ExpM =1 ExpM =10
ExpM =30 ExpM =128
Wyznaczanie wektorów normalnych
Wyznaczanie wektorów normalnych
Cieniowanie płaskie Cieniowanie gładkie
(stała barwa wielokąta)
Cieniowanie wielokątów (1)
Cieniowanie płaskie (stałą barwą
Cieniowanie gładkie
wielokąta)
Cieniowanie wielokątów (2)
Siatka wielokątów Cieniowanie gładkie Cieniowanie płaskie
(stałą barwą wielokąta)
Cieniowanie wielokątów (3)
Wybór rodzaju cieniowania umożliwia funkcja:
glShadeModel( GLenum 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.
Przykład ustawienia parametrów
zródła światła
Przykład ustawienia parametrów
materiału
Przykład  oświetlony sześcian (1)
długość boku - a
Przykład  oświetlony sześcian (2)


Wyszukiwarka