Pokročilé osvětlovací techniky © 2005 Josef Pelikán, MFF UK Praha

Slides:



Advertisements
Podobné prezentace
Odraz světla na rozhraní dvou optických prostředí
Advertisements

Geometrická optika Mgr. Alena Tichá.
Vizualizace Perspektivní pohledy, materiály, světla, Render.
Počítačová grafika III Odraz světla, BRDF – Cvičení Jaroslav Křivánek, MFF UK
Světelné jevy a jejich využití
Elektrotechnická měření Výpočet umělého osvětlení - Wils
=NAUKA O SVĚTLE A JEHO VLASTNOSTECH
Rozhodněte o její pohyblivosti (určete počet stupňů volnosti).
Optika ČVUT FEL Sieger, 2012.
Počítačová grafika III – Zobrazovací rovnice a její řešení
T.A. Edison Tajemství úspěchu v životě není v tom, že děláme, co se nám líbí, ale, že nacházíme zalíbení v tom, co děláme.
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Světelné jevy Optika II..
Modelování v prostoru.
19. Zobrazování optickými soustavami
BODOVÁ METODA VÝPOČTU OSVĚTLENOSTI
OPTIKA.
OPTIKA II.
Ohyb světla, Polarizace světla
Paprsková optika Světlo jako elektromagnetické vlnění
Počítačová grafika III Úvod Jaroslav Křivánek, MFF UK
Odraz světla. Zákon odrazu světla
Popis časového vývoje Pohyb hmotného bodu je plně popsán závislostí polohy na čase. Otázkou je, jak zjistit vektorovou funkci času ~r (t), která pohyb.
CZ.1.07/1.4.00/ VY_32_INOVACE_607_F7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Člověk a příroda Předmět: Fyzika Ročník: 7.
Jevy na rozhraní dvou prostředí
Digitální projektory. LCD (Liquid Crystal Display) DLP (Digital Light Processing)
S VĚTELNÉ JEVY. S VĚTELNÉ ZDROJE Vidíme jen ty předměty, ze kterých přichází do našeho oka světlo. Světelné zdroje – světlo vyzařují (Slunce, žárovka)
Vypracoval: Karel Koudela
Pionýrů 400, Frýdek – Místek
Polarizace světla Světlo – elektromagnetické vlnění.
38. Optika – úvod a geometrická optika I
Vektorová grafika.
Rozklad světla optickým hranolem
Počítačová grafika III – Path tracing Jaroslav Křivánek, MFF UK
Interactive Relighting of Dynamic Refractive Objects Tomáš Šváb & Adam Dominec.
Počítačová grafika III – Důležitost, BPT Jaroslav Křivánek, MFF UK
Způsoby uložení grafické informace
FYZIKA PRO IV. ROČNÍK GYMNÁZIA - OPTIKA
Diferenciální geometrie křivek
Tento Digitální učební materiál vznikl díky finanční podpoře EU- OP Vzdělávání pro konkurenceschopnost. Není –li uvedeno jinak, je tento materiál zpracován.
Počítačová grafika III Úvod Jaroslav Křivánek, MFF UK
POČÍTAČOVÉ HRY CVIČENÍ 9. Shadery Z „Shading“ = „stínování“ Logika vykreslování Vertex data >> obraz Implementováno na GPU PHA cvičení 9 2.
Renderování vlasů. Kajiya – Kay model Rok 1989, článěk [1] Renderování srsti a krátkých vlasů 3D texely s parametry Texel je bod textury. V [1] se pojmem.
4 Základy - pojmy Střed promítání ,,O“ Hlavní bod snímku ,,H“ Konstanta komory ,,f“ Osa záběru Střed snímku ,,M“ Rámová značka (měřický snímek) Úvod do.
Zobrazování.
Způsoby uložení grafické informace
Geografické informační systémy pojetí, definice, součásti
REPREZENTACE 3D SCÉNY JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
3D MODELOVÁNÍ - teorie „HIGH TECHNOLOGY – další vzdělávání v 3D technologii“, registrační číslo projektu CZ.1.07/3.2.10/ Ing. Jiří Bukvald.
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Hardware pro počítačovou grafiku © Josef Pelikán, MFF UK Praha PGR019
Počítačová grafika III NPGR 010 © Josef Pelikán KSVI MFF UK Praha WWW:
Pokročilé techniky © Josef Pelikán, MFF UK Praha
Elektronické učební materiály – II. stupeň Fyzika 7 Autor: Mgr. Zuzana Vimrová 1. Co vidíš? Co vidíš, když se podíváš do těchto předmětů?
Fyzika - optika Zákon odrazu u zrcadel a zákon lomu u čoček.
O DRAZ SVĚTLA Ing. Jan Havel. Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Materiál je určen pro bezplatné používání pro potřeby.
Základní techniky zobrazování © 2005 Josef Pelikán, MFF UK Praha
Výškopis ● Vrstevnice -Vrstevnice je čára o stejné nadmořské výšce zobrazená na mapě. – Interval i = M / 5000 – Hlavní, vedlejší.
Aplikovaná optika I: příklady k procvičení celku Geometrická optika
Moderní poznatky ve fyzice
OB21-OP-EL-ELN-NEL-M-4-004
MNOHONÁSOBNÉ ODRAZY 1. Činitel vazby 12 svíticí plochy 1 s osvětlovanou plochou 2 2. Činitel vlastní vazby 11 vnitřního povrchu duté plochy 3.
Ivča Lukšová Petra Pichová © 2009
Zákon odrazu světla, Zobrazení na rovinném zrcadle
DIGITÁLNÍ UČEBNÍ MATERIÁL
Lom světla Název školy: ZŠ Štětí, Ostrovní 300 Autor: Francová Alena
Lom světla Název školy: ZŠ Štětí, Ostrovní 300 Autor: Francová Alena
Třírozměrné modelování
Třída 3.B 3. hodina.
Fyzikální veličiny Míry fyzikálních vlastností: X = x [X]
Transkript prezentace:

Pokročilé osvětlovací techniky © 2005 Josef Pelikán, MFF UK Praha

Obsah nefotorealistické techniky hrubé tónování kreslení obrysů („siluety“) složitější lokální modely osvětlení reprezentace BRDF („Lafortune's lobes“) „subsurface scattering“ „displacement mapping“ difusní mapy okolí („accessibility maps“) výpočet koncentrace světla („caustics“)

Nefotorealistické zobrazování („NPR“) cílem je výsledek podobný „lidské grafice“ výrazné kontury napodobení perokresby (šrafování apod.) napodobení různých malířských technik (olej, akvarel) stínování ve stylu kreslených filmů („cartoons“) přístupy (techniky realizace): speciální použití textur („hrubé tóny osvětlení“), … procedurání textury („fragment shader“) „postprocessing“ (zvláštní malířské techniky) + kombinace

Příklady NPR

Siluety, kontury, obrysy („silhouettes“) pro lidský zrak jsou „kontury“ velmi důležité rozhraní mezi přivrácenou a odvrácenou částí tělesa navazují na ně často šrafovací soustavy (pro zdůraznění křivosti, sklonu povrchu – nebo jen jako náhrada stínování) čistě geometrická informace (je-li těleso regulárním mnohostěnem) metody určování kontur: hrany mezi přivrácenými a odvrácenými stěnami nespojitosti v hloubkovém bufferu („postprocess.“) nespojitosti (hrany) v jiných výstupních datech

Jednoduché kreslení kontur není potřeba explicitně hledat obrysové hrany kreslená tělesa musí být regulární (uzavřená) dvě fáze kresení 1. nakreslí se přivrácené stěny těles stěny se vybarvují, hrany se nijak nezvýrazňují viditelnost se určuje „depth-bufferem“ viz „ glEnable( GL_CULL_FACE ) “, „ glCullFace() “ 2. nakreslí se pouze hrany odvrácených stěn je třeba nastavit větší tloušťku čáry („ glLineWidth() “) – čáry budou vyčnívat za obrysem

Kreslení obrysu tělesa obrysem zde rozumíme hrany, ve kterých obraz tělesa sousedí s obrazem pozadí několik podobných technik, využívá se šablona („stencil“) 1. do šablony se nakreslí hrany tělesa (stačí odvrác.) buď se nastaví větší tloušťka čáry („ glLineWidth() “) nebo se kreslení opakuje několikrát s různým malým posunutím 2D souřadnic nezapisuje se do „depth-bufferu“! 2. nakreslí se stěny tělesa viditelnost (zápis do „depth-bufferu“), nulování šablony 3. šablona se obkreslí černou barvou (vnější obrys)

následné zpracování („postprocessing“) normálně nakresleného obrazu 3D scény základem je hloubková mapa („depth buffer“), normálová mapa („normal map“) nebo kombinace.. osvědčil se omezený Sobelův filtr (pouze 2 kolmé směry): Výpočet „kontur“ metodami DIP

Hrany podle hloubky a normály nespojitost hloubky nespojitost normály

Stínování ve stylu kreslených filmů výpočet světelného modelu je velmi podobný „Blinn-Phongovým“ vzorcům základem je difusní člen „ cos α “ a případně i lesklý člen „ cos h β “ difusní člen indexuje jednoduchou několikastupňovou texturu („ramp“) jen dva nebo tři barevné odstíny bez filtrace textury (ostré přechody)! nepovinný lesklý člen má přednost je-li větší než práh, nakreslí se (např.) bílá barva

Složitější BRDF (lokální funkce odrazu) 1977: Lafortune navrhuje výpočetně efektivní reprezentaci funkce odrazivosti za pomoci tzv. „lobes“ základem je člen aritmeticky podobný „ cos n β “ „lobe“ (lalok) „s(  i,  o )“ směr laloku je dán dopadajícím a odraženým směrem, modifikuje se vektorem „C“ pracujeme v tečném prostoru souřadnic [t,n,b] ! exponent „n“ určuje šířku laloku

Různé orientace „laloku“ C t = C b = -1, C n = 1 obvyklý Phongův lalok (otočení o 180° v půdorysu) C t = C b izotropické BRDF (nezáleží na orientaci povrchu … na směru tečny) |C n | < |C t | nezrcadlové maximum odrazu (blíž k tečně) C t > 0, C b > 0 zpětný odraz (viz model „Oren-Nayar“) sign( C t ) ≠ sign( C b ) neizotropický odraz (tahy štětce, jemné drážky, brus)

Implementace faktory odrazivosti („albedo“) ρ jsou trojice [R,G,B] pro každý člen se ukládají zvlášť (jedna barevná textura) čtyři parametry laloku [ C t, C n, C b, n ] se dají uložit do jedné textury jeden až tři laloky obvykle stačí k reprezentaci velmi realistické BRDF osvětlení podle obrazu okolí („environment map“) okolí můžeme předem rozmazat několika diskrétními exponenty, např. n = 0, 1, 4, 16, 64 a 256 uložení do různých LoD v MIP-mapě nebo do 3D textury

Rozptyl světla pod povrchem velmi důležitý „foto-realistický“ faktor kůže člověka apod. (viz filmy „Shrek 2“, „Finding Nemo“) jiné průsvitné materiály (mramor, jantar, vosk, keramika, …) přesná implementace je obtížná (složitá fyzika i geometrie) několik zjednodušených přístupů: „wrap lighting“ – světlo se šíří i trochu „za roh“ simulace absorpce hloubkovou mapou výpočet absorpce v tečném (texturovém) prostoru

„Wrap lighting“ jednoduchá metoda nebere ohled na tvar a tloušťku tělesa nesnaží se počítat difusi světla upravuje difusní člen „cos α“ – rozšiřuje jeho vliv i na neosvětlené partie tělesa (za „terminátorem“) obyčejná lineární transformace skalárního součinu lze přidat odlišné zabarvení přechodu (např. do červena u kůže) 1 1 wrap

Tloušťka průsvitného tělesa pomocí HW implementované hloubkové mapy 1.spočítá se hloubková mapa z pohledu zdroje světla 2.při vlastním kreslení znám lineární hloubku tělesa v daném fragmentu podle hloubky se určí množství světla procházející objektem tato závislost se může uložit do 1D textury 0 1 dist

Hloubková mapa zdroj 1. hloubková mapa 2. běžný obraz dist

Práce v texturovém prostoru v prvním průchodu se spočítá primární osvětlení, ale výsledek se zapíše do texturového prostoru [ s, t ] primární souřadnice musí připravit vertex program (transformuje je do NDS = [ -1, 1 ] 2 ) nutnost dobré parametrizace povrchu tělesa ! pro výpočet osvětlení apod. se musí fragment programu předávat i normální 3D souřadnice další průchod[y] – zpracování světelné mapy metodami DIP (rozmazání pro podpovrch. rozptyl světla) poslední průchod (zobrazení) již pracuje s obyčejnými 3D souřadnicemi obarvení povrchu tělesa světelnou mapou

Prostor textury 2. zpracování světelné mapy 1. rozvinutí povrchu tělesa s t

„Displacement mapping“ koncepci zavedl v r Ken Perlin („hypertextures“, zobrazování: „ray marching“) poloha bodu na povrchu tělesa je modulována funkcí vzdálenosti („displacement function“) skutečná modifikace polohy bodu (srovn. „bump map“) výpočet polohy fragmentu je založen na myšlence „sphere tracing“ (Hart 1996) – původně pro implicitní plochy (známe vzdálenost bodu od tělesa)

Implementace: „distance map“ sledování paprsku probíhá v texturových souřadnicích 3D tečný prostor s jednotkou velikosti = 1 texel inicializace: výpočet směrového vektoru („ dir “) „distance map“: každému bodu v okolí přiřadí vzdálenost k nejbližšímu bodu plochy („R 3  R“) výpočet předem (Danielsson 1980 – čas O(n) ) float3 dir = normalize( in.tanEyeVec ); float3 texCoord = in.texCoord; for ( int i = 0; i < NUM_ITERATIONS; i++ ) { float dist = f1tex3D( distanceTex, texCoord ); texCoord += dist * dir; }

Závěrečné vyhodnocení po provedení N kroků iterace máme výsledek: paprsek narazil na povrch tělesa (je třeba dopočítat normálový vektor, osvětlení, apod.) nebo paprsek těleso minul (lze vrátit zcela průhledný fragment? – asi jen poblíž obrysu tělesa..)  kvůli této variantě je lepší přesné těleso „zabalit“ do „větší“ GPU geometrie... N

Lepší aproximace difusního světla konstantní „ambient“ člen není dost dobrý nezohledňuje zastínění daného bodu okolím (ani vlastním objektem) prohlubně na povrchu jsou stejně jasné jako „výčnělky“ předem se dá spočítat, kolik okolního světla průměrně do daného bodu dopadá...

Předzpracování: „světelná přístupnost“ pro každý bod na povrchu tělesa spočítám předem: kolik procent paprsků z okolí na něj může dopadnout (tj. není zastíněno jinými částmi vlastního tělesa) dominantní směr, odkud je bod osvětlován (odkud je „nejlépe vidět“) – vektor „B“ technika: např. Ray-tracing nebo speciální GPU výpočet B1B1 B2B2 23% 100%

Použití „mapy přístupnosti“ využití koeficientu přístupnosti: multiplikativní faktor okolního světla („ambient term“) mohu použít místo statické konstanty „k A “ využití dominantního vektoru „B“: z předem spočítané světelné mapy okolí („environment light map“) vyberu „směrovou“ vstupní složku pro difusní osvětlení  světelná mapa je předem rozmazána faktorem „cos α“ data z textury ještě vynásobím koeficientem přístupnosti

Koncentrace světla („kaustiky“) tyto efekty vznikají lomem nebo odrazem světla na zakřiveném povrchu (viz optika, čočky) vodní hladina, sklenička s nápojem, konkávní lesklý předmět, … přesný výpočet je časově náročný přímé („light tracing“) nebo zpětné („Monte-Carlo ray tracing“) sledování paprsku v omezených podmínkách se kaustické plochy dají počítat na GPU geometricky jednoduchá plocha přijímající kaustiku (např. rovina)

Transformace trojúhelníků každý vrchol souvislé trojúhelníkové sítě se transformuje podle optických zákonitostí (odraz / lom) trojúhelníky se rasterizují na ploše příjemce (jednoduchá geometrie!) je třeba zajistit různou optickou hustotu jednotlivých trojúhelníků (roztažené jsou řidší a naopak) V1V1 V2V2 V3V3 V4V4 V5V5

Kreslení kaustiky optická hustota záleží na druhé derivaci zdrojové plochy („křivost“) vertex program může křivost spočítat a propagovat ji do fragmentů fragmenty podle ní určí svoji neprůhlednost („opacity“) výsledek kaustic. efektu se kreslí do světelné textury světelná textura se při běžném zobrazování mapuje na plochu příjemce (2D nebo projektivní mapování) moderní HW s „vertex mapami“: až fragmenty mohou generovat zalomené paprsky polotovar se nakreslí pomocí „point sprites“ / trojúhel. sítí

Transformace fragmentů fragment spočítá svůj zalomený / odražený paprsek výsledek (bod dopadu na ploše příjemce) zapíše do výstupní textury tato textura je zdrojem geometrických dat pro další průchod („vertex texture“) F1F1 F 20 F 45 F 63 F point sprites (triangle mesh) 1. fragment projection

Literatura Tomas Akenine-Möller, Eric Haines: Real-time rendering, 2 nd edition, A K Peters, 2002, ISBN: ed. Randima Fernando: GPU Gems, Addison-Wesley, 2004, ISBN: ed. Matt Pharr: GPU Gems 2, Addison-Wesley, 2005, ISBN: