Gouraud-árnyalás

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Nincs forrás

Gouraud-árnyékolt sokszög
Gouraud-árnyékolt gömb animációja - pontatlanságok vehetők észre a sokszögek széleinél
Egy állókép ugyanarról a gömbről, sokkal több sokszög felhasználásával

A Gouraud-árnyalás a számítógépes grafikában használatos módszer: a háromszögek csúcspontjaiban értékeli ki a fényforrásokból idejutó fény visszaverődését.[1] Az illuminációs képlet alkalmazásánál az eredeti felület normálvektorával dolgozik, azaz a tesszellációs folyamat során a kiadódó pontokban a normálvektort is meg kell határozni, amit a poligonháló visz magával a transzformációk során. Ezután a Gouraud-árnyalás a háromszög belső pontjainak színét a csúcspontok színéből lineárisan interpolálja. Vegyük észre, hogy ez pontosan ugyanaz az algoritmus, ahogyan a z mélység koordinátát a háromszög három csúcspontjából lineáris interpolációval határozzuk meg, így az ott említett inkrementális módszer itt is használható.

A Gouraud-árnyalás programja, amely egy háromszög alsó felét színezi ki:

Xstart=X1+0.5,Xend=X1+0.5

Rstart=R1+0.5,Gstart=G1+0.5,Bstart=B1+0.5

for Y=Y1 to Y2 do

R=Rstart,G=Gstart,B=Bstart

for X=Trunc(Xstart) to Trunc(Xend) do

Pixel(X,Y,Trunc(R),Trunc(G),Trunc(B))

Rstart+= δRX,G+= δGX,B+= δBX

endfor

Xstart+= δXYs,Xend+= δXYe

Rstart+= δRYs,Gstart+= δGYs,Bstart+= δBYs

endfor

A Gouraud-árnyalás akkor jó, ha a háromszögön belül a szín valóban közelítőleg lineárisan változik. Ez nagyjából igaz diffúz visszaverődésű objektumokra, de elfogadhatatlan tükrös, illetve spekuláris visszaverődésű felületekre. A lineáris interpoláció ilyen esetben egyszerűen kihagyhatja vagy szétkenheti a fényforrás tükröződő foltját.

Jegyzetek

  1. Dr. Szirmay-Kalos László: Számítógépes grafika, p. 140. , p. 146.

Sablon:Portál

Sablon:Csonk-info