11. Základní algoritmy a principy počítačové grafiky – metody vizualizace, určení viditelnosti a osvětlení, reprezentace grafické informace, OPENGL.

11.1. Přehled

11.1.1. Vrhání paprsku

  • rastrová objektově orientovaná metoda
  • ray casting - hledáme nejbližší objekt zasažený paprskem směřující od pozorovatele a procházejícím průmětnou

11.1.2. Sledování paprsku

  • rozšíření vrhání paprsku = sledování nekončí po nalezení nejbližšího objektu – sledodvání paprsku vyššího řádu
  • ray traycing – realistické zobrazení scény odrazivost, průhlednost tělesa – stíny a odlesky v algoritmu je dopočítávání osvětlení pro paprsek

11.2. Výpočet osvětlení ve scéně, metody stínování, Phongův osvětlovací model.

11.2.1. Phong

osvětlení I je součtem 3 složek: difůzní Id, speculární Is, ambientní Ia, I = Id + Is + Ia vypočítáváno pro každý pixel okolní světlo se vypočítává jen jednou difůzní a speculární světlo se vypočítá pro každý bod povrchu a pro všechny zdroje světla difůzní složka způsobená odrazem a lomem světla na nerovném povrchu není závislá na směru pohledu – odraz do všech směrů závisí pouze na úhlu dopadu charakteristické pro matná tělesa koeficient od 0 do 1 ambientní složka všesměrové konstantní světlo napodobuje sekundární odražené světlo nezávisí na úhlu pohledu ani směru a velikosti osvětlení zabraňuje tomu, aby odvrácené plochy byly černé speculární složka směrová složká zrcadlová složka zrcatdlové (hladké) objekty mají pouze tuto složku vede k vytváření odlesků charakteristická pro lesklá tělesa koeficient zrcadlového odrazu od 0 do 1 stupeň ostrosti zrcadlového odrazu od 1 do 100

11.2.2. Metody stínování

Konstantní stínování pro každou plochu stínovaného tělesa se vypočte osvětlení a plocha se obarví vypočtenou barvou vhodné pro hranatá tělesa

11.2.3. Gouraudovo stínování

osvětlení se vypočte na vrcholech plochy a výsledná barva se interpoluje v ploše vhodné pro matné plochy

11.2.4. Phongovo stínování

normála se vypočte ve vrcholech plochy a vypočtená normála se interpoluje osvětlení se vypočítává pro každý bod s interpolovanou normálou

11.3. Algoritmus viditelnosti

11.3.1. paměť hloubky. Popište princip. Problematika perspektivně korektní interpolace.

Z-buffer – paměť hloubky používání paměti hloubky, která tvoří dvojrozměrné pole, jehož rozměry jsou totožné s rozměry zobrazovacího okna jestliže plocha rozložená na pixeli bude blíže k pozorovateli než z-buffer, tak se daný pixel obarví z-buffer se poté upraví a uloží si souřadnice

11.3.2. Malíř

objektově orientovaný algoritmus princip překreslování vzdálenějších ploch plochami v popředí nanášení barev na plátno setřídění podle z-tové souřadnice – odzadu dopředu nelze použít pro protínající se plochy možnost zacyklení algoritmu – vzájemné překrývání

11.3.3. Warnockův

dělení obrazovky rastrový algoritmus žádná stěna nemá v sobě jen pozadí, jediná stěna má celou výplň jednoho tělesa, jedna stěna zasahuje těleso + barvu pozadí, několik stěn obsahuje obě barvy vytváří se seznam pro každé uvažované těleso