Gouraudovo stínění - Gouraud shading

Gouraudově zastíněná trojúhelníková síť pomocí Phongova reflexního modelu

Gouraudovo stínování , pojmenované po Henri Gouraudovi , je interpolační metoda používaná v počítačové grafice k vytváření souvislého stínování povrchů reprezentovaných polygonovými sítěmi . V praxi se Gouraudovo stínování nejčastěji používá k dosažení souvislého osvětlení na trojúhelníkových sítích pomocí výpočtu osvětlení v rozích každého trojúhelníku a lineární interpolací výsledných barev pro každý pixel pokrytý trojúhelníkem. Gouraud poprvé publikoval techniku ​​v roce 1971.

Popis

Gouraudovo stínování funguje následovně: Odhad povrchové normály každého vrcholu v polygonálním 3D modelu je buď specifikován pro každý vrchol, nebo je zjištěn zprůměrováním normálů povrchu polygonů, které se setkávají v každém vrcholu. Pomocí těchto odhadů se poté provedou světelné výpočty založené na modelu odrazu, např. Modelu odrazu Phong , aby se dosáhlo intenzity barev ve vrcholech. Pro každý pixel obrazovky, který je pokryt polygonální sítí, lze potom interpolovat intenzitu barev z hodnot barev vypočítaných na vrcholech.

Porovnání s jinými stínovacími technikami

Porovnání plochého zastínění a Gouraudova zastínění.

Gouraudovo stínování je považováno za lepší než ploché stínování a vyžaduje podstatně méně zpracování než stínování Phong , ale obvykle vede k fazetovému vzhledu.

Ve srovnání se stínováním Phong spočívá síla a slabost stínování Gourauda v jeho interpolaci. Pokud síť pokrývá více pixelů v prostoru obrazovky, než má vrcholy, interpolace hodnot barev ze vzorků nákladných výpočtů osvětlení ve vrcholech je méně náročná na procesor než provádění výpočtu osvětlení pro každý pixel jako při stínování Phong. Vysoce lokalizované světelné efekty (například zrcadlové odlesky , např. Odlesky odraženého světla na povrchu jablka) však nebudou vykresleny správně a pokud zvýraznění leží uprostřed mnohoúhelníku, ale nerozšíří se do mnohoúhelníku. vrchol, nebude to zřejmé v Gouraudově vykreslování; naopak, pokud dojde k zvýraznění na vrcholu mnohoúhelníku, bude v tomto vrcholu vykresleno správně (protože zde je aplikován model osvětlení), ale bude interpolační metodou rozprostřeno nepřirozeně přes všechny sousední polygony.

Problém lze snadno odhalit v renderu, který by měl mít zrcadlové zvýraznění pohybující se hladce po povrchu modelu při jeho otáčení. Gouraudovo stínování bude místo toho vytvářet zvýraznění, které se bude průběžně prolínat a vystupovat v sousedních částech modelu, přičemž dosáhne nejvyšší intenzity, když zamýšlené zrcadlové zvýraznění přejde přes vrchol modelu. I když tento problém lze vyřešit zvýšením hustoty vrcholů v objektu, v určitém okamžiku klesající návratnost tohoto přístupu upřednostní přechod na podrobnější model stínování.

Lineární vs. hyperbolická interpolace

Gouraudův původní článek popisoval lineární barevnou interpolaci. V roce 1992 publikoval Blinn účinný algoritmus pro hyperbolickou interpolaci, který se používá v GPU jako perspektivní správná alternativa k lineární interpolaci. Lineární i hyperbolické varianty interpolace barev od vrcholů po pixely se běžně nazývají „Gouraudovo stínování“. -

Machovy kapely

Jakákoli lineární interpolace intenzity způsobuje derivační diskontinuity, které spouští Machovy pásma , což je běžný vizuální artefakt Gouraud Shading.

Viz také

Reference

  1. ^ a b Gouraud, Henri (1971). Počítačové zobrazení zakřivených ploch, doktorská práce (práce). University of Utah.
  2. ^ Gouraud, Henri (1971). „Souvislé stínování zakřivených ploch“ (PDF) . Transakce IEEE na počítačích . C-20 (6): 623–629. doi : 10.1109/TC.1971.223313 .
  3. ^ Gouraud, Henri (1998). „Nepřetržité stínování zakřivených ploch“. V Rosalee Wolfe (ed.). Seminární grafika: Průkopnické úsilí, které formovalo pole . ACM Stiskněte. ISBN 1-58113-052-X.
  4. ^ Blinn, James F. (červenec 1992). „Hyperbolická interpolace“. Počítačová grafika a aplikace IEEE . 12 (4): 89-94. doi : 10.1109/MCG.1992.10028 .