Cieniowanie Gourauda (zwane też cieniowaniem na zasadzie interpolowania jasności) – polega na przypisywaniu punktom cieniowanego wielokąta jasności obliczonej poprzez interpolację wartości odpowiednich dla każdego wierzchołka (w odróżnieniu od cieniowania Phonga, polegającego na interpolacji wektora normalnego). Metodę opracował francuski informatyk Henri Gouraud.
Jest metodą używaną w grafice komputerowej do symulacji różnych efektów światła i koloru na powierzchni obiektu. W odróżnieniu cieniowania płaskiego cieniowanie Gourauda zapewnia płynną zmianę stopnia jasności całego obiektu.
Cieniowania Gourauda w grafice 3D
[edytuj | edytuj kod]Trójwymiarowy obraz w pamięci komputera modelowany jest jako zbiór wielokątów tworzących siatki wielokątów. Pierwszym krokiem podczas cieniowania Gourauda jest obliczenie wektorów normalnych do wierzchołków tychże wielokątów. Na tej podstawie możliwe jest obliczenie kąta padania światła w danym miejscu siatki wielokątów. Pozwala to na obliczenie jasności danego wierzchołka (czasem ten etap jest nazywany oświetlaniem wielokąta).
W następnym kroku cieniowane są wszystkie wielokąty. Każdy wielokąt jest cieniowany najpierw wzdłuż krawędzi metodą interpolacji liniowej (w tym przypadku interpolowana jest jasność padającego światła), a następnie wzdłuż kolejnych wierszy (również wykorzystując interpolację liniową).
Algorytm ten można uogólnić dopuszczając interpolację nie tylko jasności, ale również poszczególnych barw.
Algorytm cieniowania Gourauda traci informacje o kącie padania światła przed właściwym rysowaniem wielokątów – zamiast tego wykorzystuje informacje o jasności w danym punkcie. Powoduje to powstawanie błędów, do których można zaliczyć nieprawidłowe oświetlenie wielokąta, jeśli na jego środek pada jasne, punktowe światło, a wierzchołki są już słabo oświetlone. W takim przypadku cały wielokąt pozostanie ciemny, punktowe światło nie zostanie narysowane. Wady tej pozbawione jest cieniowanie Phonga.
Zobacz też
[edytuj | edytuj kod]Bibliografia
[edytuj | edytuj kod]- James D Foley, Andries van Dam, Steven K Freiner, John F Hughes, Richard L Phillips: Wprowadzenie do grafiki komputerowej. Jan Zabrodzki (tłumaczenie). Warszawa: Wydawnictwa Naukowo-Techniczne, 1995, s. 610-611. ISBN 83-204-1840-2.