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)