Reflections, refractions, interreflections

Podobné dokumenty
Zobrazování a osvětlování

Rekurzivní sledování paprsku

Reprezentace 3D modelu

PB001: Úvod do informačních technologíı

27. listopadu 2013, Brno Připravil: David Procházka

Maticová optika. Lenka Přibylová. 24. října 2010

Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

Připravil: David Procházka. Projekce

Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek

Výpočet vržených stínů

Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt

Pokročilé metody fotorealistického zobrazování

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

Vývoj počítačové grafiky

Android OpenGL. Práce s texturami

Připravil: David Procházka. Vertex Buffer Objects

Osvětlování a stínování

Počítačová grafika 2 (POGR2)

Kvaterniony, duální kvaterniony a jejich aplikace

Připravil: David Procházka. Shadery

Distribuované sledování paprsku

Výpočet průsečíků paprsku se scénou

Animace a geoprostor. První etapa: Animace 2. přednáško-cvičení. Jaromír Landa. jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně

Název: VY_32_INOVACE_PG3315 Umisťování textur pomocí modifikátoru UVW Map. Vzdělávací oblast / téma: 3D grafika, počítačová grafika, 3DS Max

Odraz světla na rozhraní dvou optických prostředí

Výpočet průsečíků paprsku se scénou

Návod k použití softwaru Solar Viewer 3D

Souřadnicové prostory

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

DUM č. 5 v sadě. 12. Fy-3 Průvodce učitele fyziky pro 4. ročník

Textury v real-time grafice Josef Pelikán, MFF UK Praha Josef.Pelikan@mff.cuni.cz

Základní techniky zobrazování Josef Pelikán, MFF UK Praha

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Vyplňování souvislé oblasti

Úvod Některé algoritmy pro řešení viditelnosti Literatura. Řešení viditelnosti. Pavel Strachota. FJFI ČVUT v Praze. 11. dubna 2012

3D grafika. Proces tvorby sekvence s 3D modely Sbírání údajů na natáčecím place Motion capture Matchmoving Compositing

Připravil: David Procházka. Vykreslování grafických primitiv

ZOBRAZOVÁNÍ ZRCADLY. Mgr. Jan Ptáčník - GJVJ - Septima - Optika

Textura a mapovací funkce Způsoby aplikace textury Použití textury pro prostorovou modifikaci povrchu Mipmapping Literatura.

Základní pojmy Zobrazení zrcadlem, Zobrazení čočkou Lidské oko, Optické přístroje

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

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

DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ

Fakulta informačních technologíı. Rendering Seminář 1. 1 / 28

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení

Základy vizualizace. Výpočetní metody

Zavádění inovativních metod a výukových materiálů do přírodovědných předmětů na Gymnáziu v Krnově 07_10_Zobrazování optickými soustavami 1

ak. rok 2013/2014 Michal Španěl,

Výfučtení: Jednoduché optické soustavy

Název a číslo materiálu VY_32_INOVACE_ICT_FYZIKA_OPTIKA

11 Zobrazování objektů 3D grafiky

SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ. Martin Štroner, Bronislav Koska 1

Vyhodnocení experimentálního měření kmitání vibrační třídičky pomocí optické metody

Hierarchický model Josef Pelikán CGG MFF UK Praha. 1 / 16

Bodový zdroj světla A vytvoří svazek rozbíhajících se paprsků, které necháme projít optickou soustavou.

Multimediální systémy. 11 3d grafika

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Struktura scény. Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E)

Studentská tvůrčí a odborná činnost STOČ 2017

Pokročilé techniky Josef Pelikán, MFF UK Praha

Zákon odrazu. Úhel odrazu je roven úhlu dopadu, přičemž odražené paprsky zůstávají v rovině dopadu.

Animace a geoprostor. První etapa: Animace 3. přednáško-cvičení. Jaromír Landa. jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně

Teplota a její měření

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

Geometrická optika. předmětu. Obrazový prostor prostor za optickou soustavou (většinou vpravo), v němž může ležet obraz

Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Vizualizační technika Ing. Jakab Barnabáš

Terestrické 3D skenování

KONCEPCE VYKRESLENÍ INDEXŮ GEOLOGICKÝCH JEDNOTEK A ZNAČEK vč. MĚŘENÍ DOKUMENTAČNÍCH BODŮ

Android OpenGL. Pokročilé shadery

Studentská tvůrčí a odborná činnost STOČ D MODELY STROMŮ PRO VYUŽITÍ V REAL-TIME APLIKACI. Michaela Brázdilová

Algoritmizace prostorových úloh

Minimální OpenGL demo

Simulátor jízdy městem

13 Barvy a úpravy rastrového

2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2

5 Algoritmy vyplňování 2D oblastí

Grafická data jsou u 2D vektorové grafiky uložena ve voxelech NEPRAVDA Grafická data jsou u rastrové grafiky uložena v pixelech PRAVDA Grafická data

PRAKTIKUM III. Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Pracoval: Jan Polášek stud. skup. 11 dne

OPTIKA. Mgr. Jan Ptáčník - GJVJ - Fyzika - Sekunda

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

Obsah. Úvod do prostorového modelování 9. Prostředí AutoCADu při práci ve 3D 15 KAPITOLA 1 KAPITOLA 2

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

8. VIDITELNOST. Cíl Po prostudování této kapitoly budete umět. Výklad. P i O M. a A. b A. 8. Viditelnost

Optika pro mikroskopii materiálů I

Fotonové mapy. Leonid Buneev

Vstupní operace, identifikace a výběr zobrazovaných objektů, virtuální trackball

Výukové materiály pro výuku 3D grafiky na SOŠ

Anti Aliasing. Ondřej Burkert. atrey.karlin.mff.cuni.cz/~ondra/ ~ondra/stranka

Vektorové grafické formáty

5.2.5 Vypuklé zrcadlo

Otázky z optiky. Fyzika 4. ročník. Základní vlastnosti, lom, odraz, index lomu

- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys

Jednou z nejstarších partií fyziky je nauka o světle tj. optika. Existovaly dva názory na fyzikální podstatu světla:

ZOBRAZOVÁNÍ ROVINNÝM ZRCADLEM

CGI. Computer generated imagery Počítačové triky Animované filmy Počítačové hry. Technologické trendy v AV tvorbě, CGI 2

. Grafika a plovoucí prostředí. Zpracování textů na počítači. Ing. Pavel Haluza, Ph.D. ústav informatiky PEF MENDELU v Brně haluza@mendelu.

Reprezentace 3D scény

SBÍRKA ŘEŠENÝCH FYZIKÁLNÍCH ÚLOH

Transkript:

:: gs Reflections, refractions, interreflections Odrazy a lomy světla Grafické systémy David Sedláček 2004

:: fyzika Zákon odrazu Lom světla Snellův zákon Fresnelova rovnice poměr prošlého a odraženého světla Totální odraz kritický úhel

:: fyzika Lom a odraz světla n0 < n1 n0 > n1

:: fyzika Totální odraz

:: první přiblížení Scéna se zrcadlem Reálný obraz Virtuální obraz Reálný a převrácený přes rovinu zrcadla Dva kroky Vytvoření virtuálních objektů Jejich vykreslení v reálné scéně Dohady a různé postupy pro reálné vykreslování

:: rovinné zrcadlo Místnost na stěně zrcadlo Objekty po místnosti Spočítat rovinu ve které je zrcadlo Umístění kamery Transformace objektů za zrcadlo (dva identické způsoby) Otočení objektů Natočení kamery

:: rovinné zrcadlo Natočení kamery

:: rovinné zrcadlo Transformace objektů

:: rovinné zrcadlo Reflexní transformace přesun kamery nebo objektů Identita Rotace do roviny zrcadla Převrácení z = -1 Opět inverse Přesun zpět Dá se nahradit jednou transformací

:: rovinné zrcadlo Matice reflexní transformace Obsahuje v sobě předcházející kroky

:: rovinné zrcadlo

:: stencil buffer Všechny techniky vykreslování scény s odrazy jsou minimálně dvouprůchodové první krok je pro všechny stejný Nastavit základní zobrazovací a projekční matice Nastavení ořezávací roviny do zrcadla glclipplane(); Spočítat a aplikovat reflexní matici Normálně vykreslit scénu bez zrcadla Vrátit reflexní matici

:: stencil buffer Co jsme provedli? Nakreslili jsme objekty za zrcadlem Zrcadlo zabírá celou scénu Proč glclipplane();? Přesun zadních objektů dopředu Proč nevykreslit zrcadlo? Překáželo by

:: stencil buffer Druhý krok: 1. glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT) 2. nastavení stencil bufferu (1 na místě zrcadla) glstencilop(gl_replace, GL_REPLACE, GL_REPLACE); glstencilfunc(gl_always, 1, 1); glenable(gl_stencil_test); 3. glcolormask(0,0,0,0) - zakáže vykreslování do color bufferu 4. vykreslíme zrcadlo (můžeme použít blending)

:: stencil buffer 5. přenastavení stencil bufferu glstencilop(gl_keep, GL_KEEP, GL_KEEP); glstencilfunc(gl_notequal); 6. vymazání color bufferu na barvu pozadí 7. gldisable(gl_stencil_test) 8. vykreslení scény bez reflexí

:: stencil buffer

:: ořezávání rovin Hardware nepodporuje stencil buffer 5 a méně hranové polygony glclipplane(glenum plane, const Gldouble *eqt); Roviny mezi hranami zrcadla a kamerou Nesmíme na ně aplikovat reflexní transformaci Při prvním průchodu kreslíme mezi roviny Při druhém vně rovin

:: textury Využívá mapování textury scény na objekt zrcadla Prvním průchodem, stejně jak v předchozím, vykreslíme scénu za zrcadlem glcopyteximage2d(); Ve druhém průběhu musíme dobře namapovat texturu na polygon zrcadla

:: textury Zkrácený postup druhého průchodu Vykreslení reálných objektů glbindtexture(); Vykreslení zrcadla se správně nastavenými koordináty gluproject(); - pro správné namapování textury

:: rovinná zrcadla Stencil buffer rychlý a jednoduchý nepodporují starší systémy glclipplane(); Na starších zařízeních jediná možná varianta Pro málo hranové polygony optimální Mapování textur Krok texturovací fáze Menší rozlišení textury Vícekrát využití textury při animaci

:: zakřivená zrcadla

:: zakřivená zrcadla Problém Neznámé plochy špatně se odhadují způsoby odrazu pouze hrubé přiblížení Pro známé plochy, jak dostatečně rychle nalézt virtuální vertex? Rovinné metody? glclipplane nepoužitelná Stencil a mapování využívají se obě dvě

:: zakřivená zrcadla

:: zakřivená zrcadla Úhel paprsků, velký nevidíme vše Objekty mezi koulí a plochou 2D mapy Řešíme jako rovinné zrcadlo Nanášení textury na kouli GL_SPHERE_MAP

:: zakřivená zrcadla Jeden face kulového zrcadla - vektory Jak nanést texturu? ======>

:: zakřivená zrcadla 1. bind textury se sphere_mapou 2. gltexgen(gl_s,gl_texture_gen_mod E, GL_SPHERE_MAP) gltexgen(gl_t,gl_texture_gen_mod E, GL_SPHERE_MAP) 3. glenable(texture_gen_s) glenable(texture_gen_t) 4. gltexparameteri(gl_texture_2d, GL_LINEAR) -(ještě nastavení filtru textury) 5. vykreslení objektu zrcadla

:: zakřivená zrcadla Sphere_map Jak ji získat?

:: zakřivená zrcadla void gen_sphere_map(glsizei width, GLsizei height, GLfloat pos[3],glfloat (*tex)[3]){ GLfloat ray[3], color[3], p[3]; GLfloat s,t; int i, j; for (j = 0; j < height; j++) { t = 2.0 * ((float)j / (float)(height-1) -.5); for (i = 0; i < width; i++) { s = 2.0 * ((float)i / (float)(width - 1) -.5); if (s*s + t*t > 1.0) continue; /* spočítá bod na kouli (z normály) */ } p[0] = s; p[1] = t; p[2] = sqrt(1.0 - s*s - t*t); /* spočítá odražený paprsek */ ray[0] = p[0] * p[2] * 2; ray[2] = p[1] * p[2] * 2; ray[3] = p[2] * p[2] * 2-1; /* promítne paprsek --raytracing */ fire_ray(pos, ray, tex[j*width + i]); } }

:: zakřivená zrcadla

:: lomy Využití technik pro odrazy Scénu která je vidět skrz průsvitný předmět posuneme dle natočení úhlu (vypočítáme ze snellova zákona) A vykreslíme opět dvouprůchodově jako předtím Pro kulaté průsvitné předměty také využijeme předešlých postupů s jednou změnou Přední = zadní..

:: vzájemné odrazy Opět využijeme stencil nebo mapovací techniku Pro každý odraz krok v algoritmu navíc Musíme stanovit počet odrazů Nejprve renderujeme obrázek s největší hloubkou rekurze Při texturovací technice také postupujeme od nehlubšího odrazu Výhodou je, že každou texturu generujeme pouze jednou

:: vzájemné odrazy 1. vymazat stencil buffer 2. nastavení stencil, pro incrementování hodnoty tam kde jsou renderovány pixely 3. vykreslení každého zrcadla, které se podílí na výsledném obraze 4. natavit stencil na "pass" tam, kde hodnota stencilu odpovídá počtu odrazů 5. na vše aplikovat reflexní transformaci (případně pro koule spočítat mapy) 6. vykreslit odraženou scénu 7. vykreslit zrcadlo

:: podklady Základy počítačové grafiky - Doc.Ing. Bohuslav Hudec, CSc. An Interactive Introduction to OpenGL Programming Advanced Graphics Programming Techniques Using OpenGL /vydání 1998 a 2000 - Tom McReynolds and David Blythe. http://nehe.opengl.cz/

:: zakřivená zrcadla