Počítače a grafika. Ing. Radek Poliščuk, Ph.D. Přednáška 3. z předmětu

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

Co je grafický akcelerátor

Reprezentace 3D modelu

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

Zobrazování a osvětlování

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

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

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

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

Rekurzivní sledování paprsku

Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno

11 Zobrazování objektů 3D grafiky

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

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

7. OSVĚTLENÍ. Cíl Po prostudování této kapitoly budete znát. Výklad. 7. Osvětlení

Počítače a grafika. Ing. Radek Poliščuk, Ph.D. Přednáška č.7. z předmětu

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

Vývoj počítačové grafiky

Nvidia CUDA Paralelní programování na GPU

Jana Dannhoferová Ústav informatiky, PEF MZLU

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ě

Grafické karty. Autor: Kulhánek Zdeněk

Připravil: David Procházka. Základy OpenGL

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

9 Prostorová grafika a modelování těles

GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty

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

13 Barvy a úpravy rastrového

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

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ě

Počítačová grafika RHINOCEROS

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

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

Křivky a plochy technické praxe

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

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

3D počítačová grafika na PC Josef Pelikán, MFF UK Praha

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

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

Kde se používá počítačová grafika

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Surfels: Surface Elements as Rendering Primitives

Obsah A ROVINNÁ GRAFIKA 17

Programování shaderů GLSL

Reflections, refractions, interreflections

Vektorové grafické formáty

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

Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu

Watkinsův algoritmus řádkového rozkladu

GIS Geografické informační systémy

Maturitní otázky z předmětu MATEMATIKA

Vývoj grafických karet

Maturitní témata z matematiky

Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web

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

Matematický ústav UK Matematicko-fyzikální fakulta

Matematický ústav UK Matematicko-fyzikální fakulta

Jednoduchý elektrický obvod

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

Počítačová grafika III Úvod

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Novinky verze 5. Od verze 5.0 je v programu PRO100 implementován nový vizualizační modul založený na technologii Open GL.

3D ANIMACE POSTAVY V POČÍTAČOVÉ GRAFICE ANIMATION OF 3D CHARACTER IN COMPUTER GRAPHICS

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

Grafické karty s podporou DirectX 11 Quynh Trang Dao Dao007

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

Typy geometrie v. Rhinu. Body

Gymnázium Jiřího Ortena, Kutná Hora

ZPRACOVÁNÍ OBRAZU přednáška 3

Fotonové mapy. Leonid Buneev

Radiometrie, radiační metody

Kristýna Bémová. 13. prosince 2007

RAYTRACING. Ondra Karlík (Keymaster)

Fyzikálně založené modely osvětlení

FOTOREALISTICKÉ ZOBRAZOVÁNÍ

Základy renderování Úvod Nastavení materiálů

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

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

Optika nauka o světle

1. Reprezentace barev, míchání barev. 2. Redukce barevného prostoru. 3. Rasterizace objektů ve 2D.

Simulátor jízdy městem

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,

HVrchlík DVrchlík. Anuloid Hrana 3D síť

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

Deformace rastrových obrázků

GIS Geografické informační systémy

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

Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou

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

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník MATEMATICKÉ (OPTICKÉ) ZÁKLADY FOTOGRAMMETRIE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY 3D SIMULAČNÍ TOOLBOX 3D SIMULATION TOOLBOX

spsks.cz 3D Modelování Zpracováno v rámci projektu CZ.1.07/3,2, 10/ financovaného z fondů EU

MATURITNÍ TÉMATA Z MATEMATIKY

Soukromá vyšší odborná škola a Obchodní akademie s.r.o. Absolventská práce Jiří VAŠEK

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.

Úpravy rastrového obrazu

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

Úvod do problematiky. Význam počítačové grafiky. Trochu z historie. Využití počítačové grafiky

Transkript:

Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně Přednáška 3. z předmětu Počítače a grafika Ing. Radek Poliščuk, Ph.D. 1/17

Obsah přednášky Přednáška 3 3D grafika: Principy prostorového promítání 3D plochy a jejich napojování, Skrývání neviditelných hran, Metody stínování Aplikace textur, filtrování Technologie OpenGL a Direct3D 3D akcelerace Raytracing 2/17

Principy promítání Převážná většina trojrozměrné počítačové grafiky je založena na promítání trojrozměrných objektů na dvourozměrnou plochu výstupního zařízení: Axonometrie (rovnoběžná perspektiva): souřadnice x a y zobrazovaných objektů se promítají bez deformace, souřadnice z se promítají v daném poměru ax,ay do souřadnic xa, ya: xa = x + axz ya = y + ayz 3/17

Principy promítání Lineární perspektiva Abu Ali al-haṣan Ibn al-haitham al-basrí: 1015-21 Kitab al-manazir (Kniha optiky) Perspektivní projekce je definována průsečíkem obrazové roviny se spojnicí pozorovaného bodu a místa pozorovatele: procedure calc3d(x,z,y:real;var x3,y3:longint); //Xpoz, Ypoz, Zpoz: souřadnice pozorovatele //pfi, psi, pro: azimut, úhel elevace a náklon //zoom: poměrné zvětšení, typicky = 1 var xx,yy,zz,x1,y1,z1,xa,ya:real; begin X1 := Cos(psi)*X-Sin(psi)*Z; Z1 := Sin(psi)*X+Cos(psi)*Z; Y1 := Cos(pro)*Y-Sin(pro)*X1; Xx := Cos(pro)*X1+Sin(pro)*Y; Zz := Cos(pfi)*Z1-Sin(pfi)*Y1; Yy := Sin(pfi)*Z1+Cos(pfi)*Y1; Xa := ((Xpoz*Zz-Xx*Zpoz)/(Zz-Zpoz)); Ya := ((Ypoz*Zz-Yy*Zpoz)/(Zz-Zpoz)); x3:=trunc(round(cenx+xa*zoom)); y3:=trunc(round(ceny-ya*zoom)); end; tyto výpočty bývají HW akcelerovány pomocí Vertex Shaderů (vektory) a Transform and Lighting (3d 2d). 4/17

Definice 3D objektů Volumetrické modely: Tělesa jsou definována souvislou množinou svých objemových bodů ( Voxelů ) Vykreslování bod po bodu : Stereolitografie, Minecraft Plošné modely: 3D tělesa jsou definována množinou vrcholů svých povrchů (..teselace) plochy na povrchu tělesa ( faces ) jsou definována svými hranami a normálami; elementární plošky jsou trojúhelníky, dané souřadnicemi vrcholů ( vertices ). Obecné fyzikální modely: Raytracing 5/17

Definice 3D ploch Obecná síť Povrch objektu je definován množinou navazujících plošek (shodné souřadnice souvisejících vrcholů) Obtížná ruční definice, výhodné pro obecné 2D funkce a matematicky definovatelné primitivní objekty (grafické modeláře) Extruze povrch objektu je zadán obrysem čela a vektorem extruze Typickou aplikací jsou 3D písma Rotace povrch objektu je zadán křivkou radiálního řezu a úhly kruhové výseče (např. 0-360 ) 6/17

Napojování 3D ploch Obecná 3D rovina je dána bodem kterým prochází a jedinou normálou. Zakřivený povrch je dán řídícími body kterými prochází a normálami v nich. Ostré hrany na rovinné plošce: Normály u všech vrcholů jsou rovnoběžné. Hladce navazující hrany: Normály u hran sousedících ploch jsou shodné. Interpolace obecnými B-splajny. NURBS = NonUniform Rational B-Splines (CAD, OpenGL,..) 7/17

Vykreslování 3D ploch Drátěné modely: Nejprimitivnější, nejrychlejší, nejméně přehledné vykreslují se všechny zadané hrany, bez ohledu na pořadí. Skrývání hran (souvislá výplň buď barvou objektu a nebo pozadí): Odstranění ploch odvrácených, mimo záběr, zakrytých a příliš malých se provede roztříděním plošek dle vzdálenosti od pozorovatele (malířův algoritmus) a následným vykreslením odzadu dopředu (deferred rendering), nebo zmapováním scény pomocí z-bufferu: při vlastním vykreslování se plošky vyplňují barvou popředí jen tehdy, je-li hodnota v z-bufferu menší než aktuální výška objektu. Stínování (Shading): Výslednou barvu každého pixelu může korigovat: barva, intenzita a úhel dopadajícího osvětlení, spektrální odrazivost, úhel a průhlednost povrchu charakter (spektrální absorpce) prostředí dodatečné efekty (lens flare, blur, cel shading...) 8/17

Osvětlení 3D ploch Osvětlení 3D scény = ambientní + difuzní složky (+ pozadí): Pozadí: barva podkladové plochy v nekonečnu. Rozptýlené (ambientní) světlo: Konstantní barva a intenzita v celém prostoru, umožňuje i zobrazení zastíněných ploch a odlišení od pozadí osvětlíme-li scénu jen rozptýleným světlem, kresba objektů je dána jen barvou a sklonem jejich ploch vůči pozorovateli (+mlha a efekty). = Směrové (difuzní) a bodové/plošné/volumetrické zdroje Slouží ke zvýraznění scény odlišením zastíněných a osvětlených ploch, parametry odpovídají žárovce umístěné v prostoru : + poloha (X, Y, Z), spektrální intenzita ( barva světelného zdroje) konstantní pro zdroje v nekonečnu (významný je jen směr), u bodových světel klesající se (2.) mocninou vzdálenosti. 9/17

Metody stínování 3D ploch Ploché stínování (Flat Shading): Každý polygon je po celé ploše konstantně vyplněn svou barvou, korigovanou sumou intenzit světel a úhlem odrazu k pozorovateli. rychlé, ignoruje hladké hrany, umělý vzhled. Gouraudovo stínování (Henri Gouraud 1971): Vzhled se počítá pro každý vrchol polygonu zvlášť, barva výplně je v každém bodě určována interpolací BARVY vůči vrcholům. Rychlá technika, používaná pro nenáročné náhledy hladkých povrchů bez zrcadlových odrazů ( gumový model ). Phongovo stínování (Bui Truong Phong, 1973): Phongův osvětlovací model: k ambientnímu, difuznímu světlu a k barvě objektu přidává spekulární složku (přímé odrazy bodových zdrojů od povrchu) využíváno k fotorealistické simulaci různě hladkých povrchů (Blinn-Phong). 10/17

Výpočet odstínu výplně Výpočet odstínu výplně v daném bodě A pak vychází z následujícího vztahu a veličin: EA = EE + EGA + ΣL [ ul spot (ELA + ED max {L N, 0} + ES max {H.N, 0}S ) ], kde: EE EGA ELA ED ES u spot S V L N H je emisní barva materiálu, globální ambientní barva pozadí globální ambientní jas pozadí, ambientní barva daného světla ambientní jas, difuzní barva daného světla diffusní barva materiálu, spekulární barva světla spekulární barva materiálu, je koeficient útlumu světla se vzdáleností, určuje zda jde o bodové světlo, spekulární parametr, určující jak moc je daný povrch lesklý, jednotkový vektor ve směru A -> pozorovatel V, jednotkový vektor ve směru A -> zdroj světla L, jednotkový vektor dané plošky v bodě A, jednotkový vektor, ležící v aritmetickém průměru vektorů L a V. A 11/17

Texturování povrchu Mapování textur: namísto pevně zvolené barvy výplně je možné výchozí povrch objektu popsat bitmapou (= texturou, složenou z texelů ). každému texturovanému polygonu je nutné předepsat výchozí 2D transformaci použité textury (plocha, koule, válec...), vykreslení bodů 3D plochy už řeší použitý stínovací algoritmus. Filtrování textur (Mipmapping): Žádné (nejbližší soused): hrubé, vznik interferencí; Bilineární filtrace: lineární interpolace mezi body bitmapy; Trilineární filtrace: lineární filtrace i mezi různými rozlišeními; Anizotropické filtrování: úprava textur do nepravoúhlého tvaru. 12/17

Operace s texturami Bump mapping (James Blinn 1978) doplnění normálových parametrů Phongova stínování o zvlnění povrchu dané bitmapovou texturou. úspora paměti i výkonu, který by zabralo řešení ploch složených ze samostatných polygonů. Cel shading (SONY Playstation: Fear Effect, '2000): Filtrovací technika pro strojovou imitaci ručně stínované grafiky objekty by měly vypadat jako ruční perokresby, s konturami vyplněnými pár odstíny dané barvy. Hrany jsou zvýrazňovány na záhybech, kde plošky přechází od viditelných k neviditelným; barva výplně je při vykreslování prahována na zvolený počet úrovní (2-3). + další Pixel shadery (součást 3D API) 13/17

3D API OpenGL (Open Graphics Library neplést s Open Source:) Nejpoužívanější standard pro definici 2D a 3D grafiky prakticky 100% podpora v moderních grafických akcelerátorech a systémech (všichni významní výrobci jsou členy OpenGL Architecture Review Board). Jednoduché multiplatformní API + dokumentace => dostatek software; Knihovny GL (low level/kernel) a GLU (high-level/user mode utility, cca 250 příkazů), kromě standardních ( ARB ) rozšíření smí každý výrobce přidávat svá vlastní, více viz např. http://www.opengl.org MiniGL/GLIDE (3Dfx) optimalizovaná a minimální sada OpenGL instrukcí pro potřeby herního průmyslu podpora skončila pohlcením vývoje 3Dfx společností nvidia Corporation ('2000). Direct3D (Microsoft) Vlastní API spol. Microsoft pro 3D grafiku, součást technologií DirectX; Stále výrazná vazba na Hardware (re-inicializace při každé změně okna...), objektový přístup ke všem elementům (na začátku méně intuitivní ~ COM) DNES výkonově srovnatelné s OpenGL, specifické výhody obou rozhraní jsou však v posledních letech stírány multi-api high-level herními enginy. Podporu nových HW akceleračních funkcí definuje Microsoft, ne výrobci HW. METAL (Apple) API pro vývoj mobilních aplikací s minimální režií Render Man (Pixar Animation Studios): API pro off-line rendering, obdoba post-scriptu 14/17

3D akcelerace 3D Akcelerace = přesun celých(části) 3D výpočtů z CPU do grafické karty. Akcelerované operace: Vertex Shaders (geometrie 3D scény: z-buffer, texturování, stínování,...) Transform&Lightning(transformace 3D 2D, 1999 nvidia GeForce256), Bump mapping, HW 3D stíny ('2000 DX7, ATI RADEON 7000) Antialiasing (FSAA, Truform, vyhlazování Alpha-textur nvidia 7800,R520...) 2D a mezisnímkové efekty (lens flares, depth of field, motion blur, deinterlace) DX9: uživatelské Pixel Shadery (programovatelné operace na úrovni sprajtů) DX10, OpenGL3: Pixel Shader model v.2, CUDA, OpenCL... 3D akcelerátory/čipsety: 3Dfx (první 3D: Rush, Banshee, Voodoo, první SLI řešení...) Nvidia (řady TNT, GeForce) AMD (původně ATI Rage/Radeon) Matrox (spíš profesionální 2D řešení) VIA (převzatá technologie S3, low-end) PowerVR (různí výrobci - grafické čipy KYRO, dnes mobilní čipy)...? Ne vždy a ne ve všech 3D aplikacích je ale nutná 3D akcelerace videokarty... 15/17

Raytracing Fyzikálně správné fotorealistické výsledky = Raytracing: obraz se nevykresluje po ploškách, ale pixel po pixelu se trasují paprsky procházející obrazovou plochou (Field of View, FOW) a všemi objekty v obraze, dokud neskončí v nekonečnu a/nebo nezanikne. Zpětný chod pak určí výslednou barvu pixelu. Každé rozhraní kterým paprsek prochází je zadáno: texturou spektrální propustnosti (absorpce), texturou spektrální odrazivosti (reflektance), texturou spektrálního indexu lomu (refrakce), texturou povrchových nerovností (bump map) a spektrální intenzitou vyzařování světla (radiance). Jde o rekurentní a pomalý proces, který obchází běžně používané grafické akcelerační funkce. více viz např. http://www.cs.unc.edu/~rademach/xroads-rt/rtarticle.html http://www.povray.org/, http://madebyevan.com/webgl-path-tracing/ 16/17

Závěr přednášky Byl probrán úvod do následujících kapitol: Principy prostorového promítání 3D plochy a jejich napojování, Skrývání neviditelných hran, Metody stínování Aplikace textur, filtrování Technologie OpenGL a Direct3D 3D akcelerace Raytracing Námět na cvičení: Ukázky vybraných 3D aplikací 17/17