Cieniowanie Gourauda
Cieniowanie Gourauda, znane również jako cieniowanie oparte na interpolacji jasności, to technika stosowana w grafice komputerowej do symulacji efektów świetlnych i kolorystycznych na powierzchniach obiektów. Opracowana przez francuskiego informatyka Henri Gouraud, metoda ta różni się od cieniowania Phonga, które opiera się na interpolacji wektorów normalnych. Cieniowanie Gourauda zapewnia płynne przejście jasności w całym obiekcie, w przeciwieństwie do cieniowania płaskiego.
Proces cieniowania Gourauda w grafice 3D
W grafice 3D obiekty są modelowane jako zestawy wielokątów, tworzących siatki. Proces cieniowania Gourauda składa się z kilku kroków:
- Obliczenie wektorów normalnych: Pierwszym krokiem jest obliczenie wektorów normalnych dla wierzchołków wielokątów, co pozwala na określenie kąta padania światła.
- Obliczenie jasności wierzchołków: Na podstawie kątów padania światła oblicza się jasność dla każdego wierzchołka.
- Interpolacja jasności: Cieniowanie wielokątów odbywa się poprzez interpolację jasności wzdłuż krawędzi i wierszy, co zapewnia płynne przejścia w jasności.
Algorytm ten można również zastosować do interpolacji barw, co zwiększa jego wszechstronność. Warto jednak zauważyć, że cieniowanie Gourauda ma swoje ograniczenia. Traci informacje o kącie padania światła przed rysowaniem wielokątów, co może prowadzić do błędów w oświetleniu. Na przykład, jeśli intensywne światło punktowe pada na środek wielokąta, a wierzchołki są słabo oświetlone, cały wielokąt może wydawać się ciemny. Ta wada nie występuje w metodzie cieniowania Phonga.