Hlavní navigace

Názor k článku Grafická knihovna OpenGL (21): nastavení světelných zdrojů od Pavel Tišnovský - Já myslím, že se v tom neztrácíte, protože...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 11. 2003 18:24

    Pavel Tišnovský (neregistrovaný)

    Já myslím, že se v tom neztrácíte, protože jste to shrnul velmi dobře. Takže k tomu stínování:

    1. konstantní stínování bere v úvahu pouze normálu zadanou u jednoho vrcholu (u trohúhelníků se jedná vždy o první vrchol, jinde je to trošku složitější). OpenGL resp. grafický akcelerátor vůbec nezajímá, zda se jedná o skutečnou normálu k povrchu nebo je to nějaký vektor zadaný "od oka". Jestliže však chceme, aby bylo těleso správně osvětleno, definujeme normálový vektor korektně.

    2. Gouraudovo stínování počítá barvu v každém vrcholu. Proto musí být zadána pro každý vertex normála, ze které se za pomoci Phongova osvětlovacího modelu barva spočítá. Proto se zadávají normály ve vrcholech, i když z geometrického hlediska je to samozřejmě nesmysl. Normály ve vrcholech se spočtou například tak, že se provede součet normalizovaných normál stěn které mají tento vrchol společný. Výsledný vektor se poté znovu normalizuje, takže výsledkem je průměr všech normál stěn se stejným vrcholem. No a následně se provede lin. interpolace mezi barvami vypočtenými ve vrcholech.

    Kdyžtak zkusím nakreslit nějaký vysvětlující obrázek a potom zde uvést odkaz.