Výpočet osvětlení

Na osvětlení objektu má vliv mnoho faktorů, od úhlů pod kterým světlo na objekt dopadá, přes materiál objektu až po vliv okolí (odražené paprsky od okolních objektů, apod.).

Achromatické světlo - bílé světlo obsahující všechny frekvence (barvy) daného elekromagnetického pásma. Zdrojem takového světla je například slunce.

Bodový zdroj světla - teoretický zdroj, kdy všechny paprsky vycházejí z jediného bodu a šíří se od toho bodu všemi směry. Obr. vlevo.

Plošný zdroj světla - je reálný zdroj kdy paprsky ze zdroje šíří všemi směry. Obr. vpravo.

Meze vlastního stínu - hranice mezi osvětlenou části objektu a zastíněnou (na zeměkouli je to tam co zrovna svítá).

Odraz světla od povrchu

Úhel dopadu je roven úhlu odrazu ale paprsek se při odrazu od povrchu také rozptýlí a v úhlu odrazu už tedy neputuje v plné intenzitě. Z toho vychází osvětlovací model:

 

IV = IS + ID,

kde IS je zrcadlová složka a ID je difuzní (rozptylová) složka.

Stínování těles v počítačové grafice

Stínování a osvětlování tělesa v počítačové grafice, nepočítáme pro každý bod tělesa zvlášť ale pracujeme s ploškami (polygony, fasetky) kterými je těleso v PG reprezentováno. Je nutné znát normály polygonů, které jsou buď dány popisem tělesa, nebo je musíme dopočítat.   

Lambertovo stínování

Lambertovo pravidlo

Počítá intenzitu odraženého světla podle vzorce:

I'=R⋅I⋅cosα + R(1-I),

kde I∈<0,1> je intenzita světelného zdroje,  R∈<0,1> je koeficient reflexe materiálu a α úhel který svírá dopadající paprsek s normálou. 

Lamberovo neboli ploché stínování (angl. flat shading) vidíte na obrázku vlevo. Osvetlení se vypočítává pro plošku jako celek. Toto stínování se využívá pro mnohostěny. Pokud jsou plošky dostatečně malé a  světelný zdoj dost daleko, můžeme jej klidně uplatnit i na kulaté tělesa, aniž by byl efekt hran vidný na obrázku dole patrný.

Gouraudovo stínování

Vyhlazuje nedostatky Lambertova stínování tak, že nezjišťuje barvu polygonů, ale barvu vrcholů. Nepracuje tedy s normálami polygonů, ale vypočte si normály vrcholů. Normála vrcholů je vektorový součet normál přiléhajících polygonů. Barva plošky pak není stejná, ale mění se směrem k vrcholům, na barvu vrcholu (barvu spočtenou z vrcholové normály).

Phongovo stínování

Phongův osvětlovací model

počítá zrcadlovou složku Idle vzorce:

I= IL⋅rS⋅(VR),

kde Ije intenzita dopadajícího paprsku,
rS je koeficient zrcadlového odrazu,
V je jednotkový vektor pohledu,
R je jednotkový vektor odraženého paprsku.

Difuzní složka osvětlovacího modelu se pak podle Lamberthova pravidla spočte podle vzorce:

I= IL⋅rD⋅C(Ln),

kde rD je koeficient difuzního odrazu,
C je barva povrchu
L je vektor dopadajícího paprsku,
n je normálový vektor plochy.

Phongovo stínování si vypočítá všechny normály. Kromě normály polygonových plošek a normál vrcholů, ještě spočítá normály hran. K normálám pak vypočte jejich barvy mezi kterými se pak interpoluje.

Wikipedie, stínování

Kam dál?