Základy OpenGL Josef Pelikán CGG MFF UK Praha. OpenGL / 34
|
|
- Štěpán Hruška
- před 7 lety
- Počet zobrazení:
Transkript
1 Základy OpenGL Josef Pelikán CGG MFF UK Praha 1 / 34
2 Pokroky v hardware 3D akcelerace běžná i v konzumním sektoru hry, multimedia, i mobilní app. (OpenGL ES) vzhled kvalita prezentace velmi důmyslné techniky texturování kombinace mnoha textur, modularita zpracování vysoký výkon nejmodernější čipové technologie pro výrobu GPU (NVIDIA Pascal: 16 nm), masivní paralelismus velmi rychlé paměti (vícecestný přístup, GDDR5, HBM) výjimečné sběrnice mezi GPU a CPU (dnes PCI-E) 2 / 34
3 Pokroky v software dvě hlavní knihovny pro 3D grafiku OpenGL (SGI, open standard) a Direct3D (Microsoft) přístup je podobný, API je velmi ovlivněno hardwarem nastavení parametrů a úsporný přenos dat do GPU maximální sdílení společných datových polí programování grafického řetězce! revoluce v programování 3D grafiky vertex-shader : zpracování vrcholů sítě geometry/tesselation-sh. : generování elementů.. fragment-shader ( pixel-shader ): zpracování jednotlivých pixelů před vykreslením 3 / 34
4 Vývojové nástroje příjemné pro programátory i umělce vyšší jazyky pro programování GPU GLSL (OpenGL), HLSL (DirectX), Cg (NVIDIA) Cg a HLSL jsou téměř shodné kompozice grafických efektů kompaktní popis celého efektu (GPU programy, odkazy na data) v jednom souboru DirectX.FX formát, NVIDIA CgFX formát nástroje: Effect Browser (Microsoft), FX Composer (NVIDIA), RenderMonkey (ATI) 4 / 34
5 Schéma OpenGL (FFP) OpenGL Fixed Functionality Pipeline: Geom. Per-Vertex Operations Vertices Primitive Assembly Clip Project Viewport Cull Geom. Rasterize Fragment Processing Fragments Per-Fragment Operations App Memory Pixel Unpack Pixel Transfer Pixels Textures Texture Memory Frame Buffer Operations Pixels Pixel Pack Pixel Groups Read Control Frame Buffer 5 / 34
6 OpenGL: geometrická primitiva typy geometrických primitiv: bod, úsečka, lomená čára, smyčka polygon, trojúhelník, proužek trojúhelníků, vějíř trojúhelníků, čtyřúhelník, proužek čtyřúhelníků, zpracování jednotlivých vrcholů glvertex, glcolor, glnormal, gltexcoord,... neefektivní (mnoho volání gl* funkcí) pole vrcholů gldrawarrays, glmultidrawarrays, gldrawelements,... glcolorpointer, glvertexpointer,... nebo prokládání 6 / 34
7 Geometrická primitiva I GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP V 0 V 1 V 0 V 1 V 0 V 1 V 0 V 1 V 2 V 2 V 2 V 2 V 3 V 3 V 3 V 3 V 4 V 4 V 4 V 4 V 5 V 5 V 5 V 5 7 / 34
8 Geometrická primitiva II GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN V 0 V 1 V 0 V 1 V 6 V 5 V 4 V 2 V3 V 2 V3 V 0 V3 V 4 V 5 V 2 V 5 V 4 V 1 8 / 34
9 Geometrická primitiva III GL_QUADS V 0 V 3 GL_QUAD_STRIP V 1 V 0 GL_POLYGON V 6 V 5 V 4 V 1 V 2 V 3 V 2 V 3 V 4 V 7 V 5 V 4 V 0 V 2 V 6 V 6 V 1 V 5 V 7 9 / 34
10 Souřadné soustavy Souřadnice modelu (Object space) Modelovací transformace (Modeling transform) Světové souřadnice (World space) [x,y,z,w] -z Pohledová transformace (View transform) Souřadnice kamery (Eye space) xy -z Projekční transformace (Projection transform) Ořezávací souřadnice (Clip space) xy n f [x,y,z,w] -z xy -z xy 10 / 34
11 Souřadné soustavy II Ořezávací souřadnice (Clip space) [x,y,z,w] Perspektivní dělení (Perspective divide) Okénková transformace (Viewport transform) Normalizovaný prostor (Normalized device space) [x,y,z] -z Souřadnice v okně (Window space) [x,y,z] xy OpenGL: [-1,-1,-1] až [1,1,1] DirectX: [-1,-1, 0] až [1,1,1] [x,y] z skutečná velikost v pixelech na obrazovce (fragmenty) hloubka kompatibilní s z-bufferem 11 / 34
12 Souřadné soustavy III souřadnice modelu databáze objektů, ze kterých se skládá scéna 3D modelovací programy (3DS, Maya,..) světové souřadnice absolutní souřadnice virtuálního 3D světa vzájemná poloha jednotlivých instancí objektů souřadnice kamery 3D svět se transformuje do relativních souřadnic kamery střed projekce: počátek, směr pohledu: -z (nebo z) 12 / 34
13 Souřadné soustavy a transformace transformace model kamera společná transformační matice modelview světové souřadnice nejsou moc důležité projekční transformace definuje zorný objem = frustum [ l, r, b, t, n, f ] přední a zadní ořezávací vzdálenost: n, f výsledkem je homogenní souřadnice (před ořezáním) ořezávací souřadnice ( clip space ) výstupní souřadnice vertex shaderu! 13 / 34
14 Projekční transformace vzdálený bod f lze posunout do nekonečna [ ] 2n 2n r l r l 2n n t b 0 r l t b t b f n 1 r l t b f n r l t b 0 0 2fn r l t b 0 f n xy [ n ] n 0 f -z 14 / 34
15 Souřadné soustavy a transformace perspektivní dělení pouze převádí homogenní souřadnice do kartézských normalizované souřadnice zařízení ( NDC ) kvádr standardní velikosti OpenGL: [-1,-1,-1] až [1,1,1] DirectX: [-1,-1,0] až [1,1,1] souřadnice v okně ( window space ) výsledkem okénkové transf. a transformace hloubky používají se při rasterizaci a práci s fragmenty 15 / 34
16 Transformace tuhého tělesa zachovává tvar těles, mění pouze jejich orientaci skládá se jenom z posunutí a otáčení často se používá k převodu mezi souřadnicovými systémy (např. mezi světovými souřadnicemi a systémem spojeným s pozorovatelem) z u (up) r (right) v (view) y (levoruký = pravotočivý systém) x 16 / 34
17 Převod mezi dvěma orientacemi z u O s x y t [1, 0, 0 ] M stu xyz = s [0, 1, 0 ] M stu xyz = t [0, 0, 1 ] M stu xyz = u Souřadný systém má počátek v O a je zadán trojicí jednotkových vektorů [ s, t, u ] [ M stu xyz = M xyz stu s x s y s z t x t y t z u x u y u z] T = M stu xyz 17 / 34
18 Geometrická data na serveru VBO, VAO, počátky od OpenGL 1.5 pro.net skoro podmínkou (klientská paměť není fixována) buffer na straně grafického serveru obsahující geometrická data založení bufferu: glbindbuffer zadání dat z pole: glbufferdata, glbuffersubdata mapování do paměti aplikace: glmapbuffer, glunmap.. práce s klientskou pamětí nebo s bufferem glcolorpointer, glnormalpointer, glvertexpointer, / 34
19 Vertex Buffer Objects glbindbuffer( GL_ARRAY_BUFFER, 0 ); glvertexpointer( ); glnormalpointer( ); 0 1 [x,y,z,w] [N x,n y,n z ] [s,t] Vertex buffer [0,1,2] [1,2,3] [3,0,12] id=0 [x,y,z,w] [N x,n y,n z ] [s,t] VBO buffer objects Index buffer id=1 GPU memory glbindbuffer( GL_ELEMENT_ARRAY_BUFFER, 1 ); gldrawelements( GL_TRIANGLES, ); 19 / 34
20 Zpracování vrcholu transformace vrcholů modelovacími a projekčními maticemi glmatrixmode glloadidentity, glloadmatrix, glmultmatrix glrotate, glscale, gltranslate,... osvětlovací atributy gllight, gllightmodel, glmaterial 20 / 34
21 Sestavení a zpracování primitiv sestavení (Assembly) určení, kolik vrcholů primitivum potřebuje shromáždění balíčku dat a odeslání dál zpracování primitiv ořezávání ( clipping ) projekce do zorného objemu ( frustum ) dělení w projekce a ořezání do 2D okénka ( viewport ) odstranění odvrácených stěn ( culling ) - jednostranná vs. oboustranná primitiva 21 / 34
22 Rasterizace, fragmenty rasterizace = vykreslení vektorových primitiv rozklad geometrických objektů na fragmenty geometrické objekty: body, úsečky, trojúhelníky, bitmapy fragment rastrový element, který potenciálně přispívá k barvě nějakého pixelu velikost: stejná nebo menší než u pixelu (anti-aliasing) balíček dat procházející rasterizační jednotkou GPU: - vstup/výstup: x, y, z (pouze hloubku lze měnit!) - texturovací souřadnice t 0 až t n - lesklá a difusní barva, koeficient mlhy, uživatelská data,... - výstupní barva RGB a neprůhlednost α (frame-buffer op.) 22 / 34
23 Interpolace ve fragmentech atributy fragmentů se automaticky interpolují z hodnot ve vrcholech: hloubka (z nebo w) texturové souřadnice barvy (lesklá a difusní složka) uživatelské atributy,... rychlé HW interpolátory perspektivně korektní interpolace jen [ x, y ] se mění lineárně ostatní veličiny vyžadují jedno dělení na každý fragment 23 / 34
24 Zpracování fragmentů texturovací operace maximálně optimalizované operace výběr barvy z texturovací paměti interpolace texelů: - mip-mapping, anisotropic filtering,... kombinace několika textur (výběr z mnoha operací) zvláštní efekty (bump-mapping, environment mapping) výpočet mlhy podle hloubky z kombinace primární a sekundární barvy (diff., spec.) 24 / 34
25 Rastrové obrázky v OpenGL Geom. Per-Vertex Operations Vertices Primitive Assembly Clip Project Viewport Cull Geom. Rasterize Fragment Processing Fragments Per-Fragment Operations App Memory Pixel Unpack Pixel Transfer Pixels Textures Texture Memory Frame Buffer Operations Pixels Pixel Pack Pixel Groups Read Control Frame Buffer 25 / 34
26 Schéma OpenGL (Programmable Pip.) Texture Memory Geom. App Memory Vertex Processor Vertices Pixel Unpack Primitive Assembly Pixel Transfer Clip Project Viewport Cull Geom. Rasterize Pixels Textures Fragment Processor Fragments Per-Fragment Operations Frame Buffer Operations Pixels Pixel Pack Pixel Groups Read Control Frame Buffer 26 / 34
27 Vrcholový procesor nahrazuje modul zpracování vrcholů: transformace vrcholů transformace a normalizace normálových vektorů výpočet/transformace texturovacích souřadnic výpočet osvětlovacích vektorů nastavení materiálových konstant do vrcholů nemůže ovlivnit: počet vrcholů! (nelze přidat ani ubrat vrchol * ) typ / topologii geometrických primitiv - částečné řešení: degenerace primitivu 27 / 34
28 Fragmentový procesor nahrazuje modul zpracování fragmentů: aritmetické operace s interpolovanými hodnotami čtení dat z textur aplikace textur výpočet mlhy závěrečná syntéza barvy fragmentu možnost modifikace hloubky fragmentu nemůže ovlivnit: počet fragmentů! (nelze přidat ani ubrat fragment * ) polohu fragmentu na obrazovce [x,y] 28 / 34
29 Novinky v OpenGL ( ) dva další kroky zpracování geometrie na GPU geometry shader (OpenGL 3.2) tesselation shaders (OpenGL 4.0) 29 / 34
30 Geometrická primitiva IV GL_LINES_ADJACENCY GL_LINE_STRIP_ADJACENCY V 0 V 3 V 7 V 6 V 5 V 1 V 2 V 4 V 4 V 0 V 6 V 3 V5 V 1 V 2 V 7 30 / 34
31 Geometrická primitiva V GL_TRIANGLES_ADJACENCY GL_TRIANGLE_STRIP_ADJACENCY V 1 V 1 V 0 V 0 V 2 V 3 V 2 V 5 V 6 V 3 V 7 V 4 V 9 V 4 V 5 V 8 V 10 V / 34
32 Geometrické procesory Tesselation shaders nově v OpenGL 4.0 HW podporované dělení ploch, subdivision (spline pláty,...) dva shadery: tesselation control a tesselation evaluation první definuje topologii, druhý počítá geometrii (koeficienty) Geometry shader od OpenGL 3.2 těsně před rasterizační jednotkou možnost generovat/odstraňovat vrcholy i primitiva obecnější než TS, avšak pomalejší (na jednoduchá schémata dělení se nehodí) 32 / 34
33 Programování procesorů v GPU Vertex shader, Fragment shader, kód zavedený ve vrcholovém, fragmentovém, procesoru aplikační programátor může tyto kódy měnit! HW nezávislé * programovací jazyky mikrokód pro GPU se kompiluje až v době běhu aplikace (RT optimalizace, různé profily/verze) low-level instrukce (jazyk se podobá assembleru) nebo vyšší jazyky Cg, HLSL, GLSL (podobné) NVIDIA Microsoft OpenGL 33 / 34
34 Literatura Tomas Akenine-Möller, Eric Haines: Real-time rendering, 2 nd edition, A K Peters, 2002, ISBN: OpenGL ARB: OpenGL Programming Guide, 4 th edition, Addison-Wesley, 2004, ISBN: Randima Fernando, Mark J. Kilgard: The Cg Tutorial, Addison-Wesley, 2003, ISBN: / 34
3D akcelerátory historie a architektura
3D akcelerátory historie a architektura 2003-2010 Josef Pelikán, MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz NPGR019, hwintro.pdf 2010 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca
Hierarchický model. 1995-2013 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16
Hierarchický model 1995-2013 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16 Hierarchie v 3D modelování kompozice zdola-nahoru složitější objekty se sestavují
Hardware pro počítačovou grafiku NPGR019
Hardware pro počítačovou grafiku NPGR019 3D akcelerátory - historie a architektura Josef Pelikán Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Pokroky v hardware 3D akcelerace běžná i v konzumním
Hardware pro počítačovou grafiku NPGR019
Hardware pro počítačovou grafiku NPGR019 Matematika pro real-time grafiku Josef Pelikán Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Obsah 1 Homogenní souřadnice, maticové transformace Převod
Co je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
Matematika pro real-time grafiku
Matematika pro real-time grafiku 2005-2011 Josef Pelikán, MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz NPGR019, hwmath.pdf 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 59
Reprezentace 3D scény
Reprezentace 3D scény 1995-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 36 Metody reprezentace 3D scén objemové reprezentace přímé informace o vnitřních
Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38
IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL Tomáš Milet Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké učení technické Brno IZG cvičení 6. - Zobrazování 3D scény
Textury v real-time grafice. 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz
Textury v real-time grafice 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Textury vylepšují vzhled povrchu těles modifikace barvy ( bitmapa ) dojem hrbolatého
Matematika pro real-time grafiku
Matematika pro real-time grafiku 2005-2010 Josef Pelikán, MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz NPGR019, hwmath.pdf 2010 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 Obsah
Reprezentace 3D modelu
Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 1/25 Reprezentace 3D modelu Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké
Základní techniky zobrazování Josef Pelikán, MFF UK Praha
Základní techniky zobrazování 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Obsah výpočet viditelnosti ( depth-buffer ) obrazové buffery ( frame buffers )
3D počítačová grafika na PC. 2003 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/
3D počítačová grafika na PC 2003 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/ Pokroky v hardware 3D akcelerace běžná i v konzumním sektoru zaměření na hry, multimedia vzhled kvalita prezentace
Základy programování shaderů v OpenGL Část 2 - přenos dat
Základy programování shaderů v OpenGL Část 2 - přenos dat Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz
Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno
Geekovo Minimum Nadpis 1 Nadpis 2 Nadpis 3 Počítačové Grafiky Jméno Adam Příjmení Herout Vysoké Vysoké učení technické učení technické v Brně, v Fakulta Brně, Fakulta informačních informačních technologií
Pokročilé osvětlovací techniky. 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz
Pokročilé osvětlovací techniky 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Obsah nefotorealistické techniky hrubé tónování kreslení obrysů ( siluety ) složitější
Transformace (v OpenGL) příklady a knihovna GLM
Transforace (v OpenGL) příklady a knihovna GLM Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL ístnost KN:E-413 (Karlovo náěstí, budova E) E-ail: felkel@fel.cvut.cz Poslední
Počítačová grafika 2 (POGR2)
Počítačová grafika 2 (POGR2) Pavel Strachota FJFI ČVUT v Praze 19. února 2015 Kontakt Ing. Pavel Strachota, Ph.D. Katedra matematiky Trojanova 13, místnost 033a E-mail: pavel.strachota@fjfi.cvut.cz WWW:
Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha
Metamorfóza obrázků 1998-2011 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Morphing 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 21 Metamorfóza obrázků -
Masivně paralelní zpracování obrazu v prostředí systému VisionLab. 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz
Masivně paralelní zpracování obrazu v prostředí systému VisionLab 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz Moravské přístroje a.s. - oblasti vývoje a výroby Prostředí pro vývoj aplikací Software pro
Pokročilé techniky Josef Pelikán, MFF UK Praha
Pokročilé techniky 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Obsah vylepšení osvětlovacího modelu dynamické mapy okolí ( environment maps ) generování
Fakulta informačních technologíı. Rendering Seminář 1. 1 / 28
Rendering Seminář 1. Tomáš Milet, Tomáš Starka Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké učení technické Brno Rendering Seminář 1. 1 / 28 OpenGL OpenGL je architektura
Základy programování shaderů v OpenGL Část 2 - přenos dat
Základy programování shaderů v OpenGL Část 2 - přenos dat Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz
Programování shaderů GLSL
Programování shaderů GLSL Příklad vertex shader Tutor1-Flat Změna geometrie ve VS Nastavení z podle hodnoty získané z aplikace uniform App: loc=gl.glgetuniformlocation(sp,"ftime0_x"); gl.gluniform1f(loc,time);
ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014
Zadání projektu Texturování Základy počítačové grafiky (IZG) ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014 1 První seznámení Cílem projektu je pochopení praktických souvislostí témat přednášek
Programovatelné shadery a jazyk Cg. Petr Kmoch
Programovatelné shadery a jazyk Cg Petr Kmoch Historie Softwarové výpoèty Pevná pipeline Volitelné moduly Programovatelné shadery 11.12.2002 Petr Kmoch, MFF UK 2 Grafická pipeline Triangulace scény Vrcholy
Výpočet vržených stínů
Výpočet vržených stínů 1996-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Shadows 2016 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 18 Metody vícenásobný
Grafické karty. Autor: Kulhánek Zdeněk
Grafické karty Autor: Kulhánek Zdeněk Škola: Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, příspěvková organizace Kód: VY_32_INOVACE_ICT_826 1.11.2012 1 1. Grafická
Základy 3D modelování a animace v CGI systémech Cinema 4D C4D
EVROPSKÝ SOCIÁLNÍ FOND Základy 3D modelování a animace v CGI systémech Cinema 4D C4D PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Mgr. David Frýbert 2013 CGI systémy Computer - generated imagery - aplikace
Rád bych poděkoval Ing. Davidu Ambrožovi za jeho cenné rady a připomínky a za ochotu po celou dobu vedení mé diplomové práce.
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE LUKÁŠ STEHLÍK Zobrazování povrchových detailů pomocí mapování textur Kabinet software a výuky informatiky Vedoucí diplomové práce:
Programování GPU ( shaders )
Programování GPU ( shaders ) 2004-2012 Josef Pelikán, CGG MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz Shaders 2012 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 35 Obsah architektura
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
Připravil: David Procházka. Vykreslování grafických primitiv
24. září 2013, Brno Připravil: David Procházka Vykreslování grafických primitiv Počítačová grafika 2 Vykreslování grafických primitiv Strana 2 / 38 Obsah přednášky 1 Vykreslování grafických primitiv 2
Transformace (v OpenGL)
Transformace (v OpenGL) Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz Podle knihy SJ Gortlera: Foundations of Computer
Rekurzivní sledování paprsku
Rekurzivní sledování paprsku 1996-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 21 Model dírkové kamery 2 / 21 Zpětné sledování paprsku L D A B C 3 / 21 Skládání
Úvod do GPGPU J. Sloup, I. Šimeček
Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu
Připravil: David Procházka. Shadery
5. října 2015, Brno Připravil: David Procházka Shadery Počítačová grafika 2 Obsah přednášky Strana 2 / 29 Obsah přednášky 1 Obsah přednášky 2 Shadery 3 Shrnutí Obsah přednášky Strana 3 / 29 Obsah přednášky
Připravil: David Procházka. Vertex Buffer Objects
30. září 2013, Brno Připravil: David Procházka Vertex Buffer Objects Počítačová grafika 2 Obsah přednášky Strana 2 / 22 Obsah přednášky 1 Obsah přednášky 2 Vertex Buffer Objects 3 Příklady 4 Shrnutí Obsah
Surfels: Surface Elements as Rendering Primitives
Surfels: Surface Elements as Rendering Primitives Výzkum v počítačové grafice Martin Herodes Nevýhody plošných primitiv Reprezentace složitých objektů pomocí plošných primitiv (trojúhelníků, čtyřúhelníků
NPGR019. Geometry & tessellation shaders. MFF UK Praha. Vykreslování v OpenGL Tessellation shaders Geometry shaders Literatura
Hardware pro počítačovou grafiku NPGR019 Geometry & tessellation shaders Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Jan Horáček Geometry & Tesselation 1 / 42 Obsah Propojení Vykreslování Instancované
Připravil: David Procházka. Základy OpenGL
24. září 2013, Brno Připravil: David Procházka Základy OpenGL Počítačová grafika 2 Grafické knihovny Strana 2 / 25 Obsah přednášky 1 Grafické knihovny 2 Vykreslování rastrového obrazu 3 OpenGL aplikace
Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze
Promítání Pavel Strachota FJFI ČVUT v Praze 30. března 2011 Obsah 1 Úvod 2 Typy promítání 3 Matematický popis promítání 4 Implementace promítání Obsah 1 Úvod 2 Typy promítání 3 Matematický popis promítání
Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt
Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt Rozhraní pro 3D grafiku Běžné grafické knihovny zpravidla podporují pouze 2D grafický výstup Pro 3D grafický výstup jsou využívány
Android OpenGL. Pokročilé shadery
Android OpenGL Pokročilé shadery Struktura programu Reálná aplikace zpravidla obsahuje více než jeden shader Kód pro inicializaci shaderu je dobré mít ve třídě (méně opisování stejného kódu) Shadery není
Vizualizační 3D grafický engine. Bc. Jan Štalmach
Vizualizační 3D grafický engine Bc. Jan Štalmach Diplomová práce 2006 ABSTRAKT Tato práce se zabývá principy a C++ implementací 3D grafického enginu v OpenGL. Engine je naprogramován jako multiplatformní
GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty
GRAFICKÉ ADAPTÉRY Grafický adaptér (též videokarta, grafická karta, grafický akcelerátor) je rozhraní, které zabezpečuje výstup obrazových dat z počítače na zobrazovací jednotku (monitor, displej, dataprojektor,
Souřadnicové prostory
Prostor objektu Tr. objektu Tr. modelu Prostor scény Souřadnicové prostory V V x, y z x, y z z -z x, y Tr. objektu V =V T 1 T n M Tr. modelu Tr. scény x, y Tr. pohledu Tr. scény Tr. pohledu Prostor pozorovatele
PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200
PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 Bc.Adam Berger Ber 208 Historie a předchůdci G200 V červnu roku 2008 spatřila světlo světa nová grafická karta od společnosti Nvidia. Tato grafická karta opět
Architektura grafických ip pro Xbox 360 a PS3
Architektura grafických ip pro Xbox 360 a PS3 Jakub Stoszek sto171 VŠB TU Ostrava 12.12.2008 Obsah Grafická karta ATI Xenox (Xbox 360)...3 ip grafické karty ATI Xenos (Xbox 360)...3 Pam grafické karty
Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web
Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web Vykreslovače grafiky nám umožňují vybrat si, jaké grafické programové rozhraní operačního systému bude použito pro zobrazování
3D ANIMACE POSTAVY V POČÍTAČOVÉ GRAFICE ANIMATION OF 3D CHARACTER IN COMPUTER GRAPHICS
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
PB001: Úvod do informačních technologíı
PB001: Úvod do informačních technologíı Luděk Matyska Fakulta informatiky Masarykovy univerzity podzim 2013 Luděk Matyska (FI MU) PB001: Úvod do informačních technologíı podzim 2013 1 / 29 Obsah přednášky
Programování GPU ( shaders ) Josef Pelikán, MFF UK Praha
Programování GPU ( shaders ) 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Obsah architektura programovatelných GPU vertex shaders fragment shaders texture
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Daniel Fromek. Výpočet geometrie na GPU
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Daniel Fromek Výpočet geometrie na GPU Kabinet software a výuky informatiky Vedoucí diplomové práce: RNDr. Josef Pelikán Studijní
Osvětlování a stínování
Osvětlování a stínování Pavel Strachota FJFI ČVUT v Praze 21. dubna 2010 Obsah 1 Vlastnosti osvětlovacích modelů 2 Světelné zdroje a stíny 3 Phongův osvětlovací model 4 Stínování 5 Mlha Obsah 1 Vlastnosti
HW počítače co se nalézá uvnitř počítačové skříně
ZVT HW počítače co se nalézá uvnitř počítačové skříně HW vybavení PC Hardware Vnitřní (uvnitř počítačové skříně) Vnější ( ) Základní HW základní jednotka + zobrazovací zařízení + klávesnice + (myš) Vnější
3D počítačová grafika na PC
3D počítačová grafika na PC Josef Pelikán, KSVI MFF UK Praha http://cgg.ms.mff.cuni.cz/ Cílem této přednášky je nastínit některé základní principy zpracování trojrozměrné počítačové grafiky na soudobých
HDR obraz (High Dynamic Range)
HDR obraz (High Dynamic Range) 2010-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 24 Velká dynamika obrazu světlé partie (krátká expozice) tmavé partie (dlouhá
Nvidia CUDA Paralelní programování na GPU
Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia
Bakalářská práce Editor vizuálních vlastností objektů pro real-time grafiku
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Editor vizuálních vlastností objektů pro real-time grafiku Plzeň 2012 Jan Vodička Prohlášení
Deformace rastrových obrázků
Deformace rastrových obrázků 1997-2011 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Warping 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 22 Deformace obrázků
27. listopadu 2013, Brno Připravil: David Procházka
27. listopadu 2013, Brno Připravil: David Procházka Texturování Počítačová grafika 2 Obsah přednášky Strana 2 / 37 Obsah přednášky 1 Obsah přednášky 2 Texturování 3 Multum In Parvo 4 Modulace textury ve
Počítačová grafika 1 (POGR 1)
Počítačová grafika 1 (POGR 1) Pavel Strachota FJFI ČVUT v Praze 8. října 2015 Kontakt Ing. Pavel Strachota, Ph.D. Katedra matematiky Trojanova 13, místnost 033a E-mail: WWW: pavel.strachota@fjfi.cvut.cz
Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010
Ing. Jan Buriánek (ČVUT FIT) GPU a GTC BI-MGA, 2010, Přednáška 11 1/29 Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek,
Vektorové grafické formáty
Vektorové grafické formáty Semestrální práce na předmět KAPR Fakulta stavební ČVUT 28.5.2009 Vypracovali: Petr Vejvoda, Ivan Pleskač Obsah Co je to vektorová grafika Typy vektorových formátů Souborový
Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."
Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech." Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Na
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
Geometrické transformace pomocí matic
Geometrické transformace pomocí matic Pavel Strachota FJFI ČVUT v Praze 2. dubna 2010 Obsah 1 Úvod 2 Geometrické transformace ve 2D 3 Geometrické transformace ve 3D Obsah 1 Úvod 2 Geometrické transformace
Android OpenGL. Práce s texturami
Android OpenGL Práce s texturami Textura Obrázek, který jsme schopní nanášet na 3D objekty S použitím shaderů mnohem víc než to Může obsahovat jiné vlastnosti povrchu, než jen barvu (reliéf, lesklost,
Lineární transformace
Lineární transformace 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.c http://cgg.mff.cuni.c/~pepca/ 1 / 28 Požadavk běžně používané transformace posunutí, otočení, většení/menšení, kosení,..
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ. Martin Štroner, Bronislav Koska 1
SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ SOFTWARE FOR PROCESSING OF POINT CLOUDS FROM LASER SCANNING Martin Štroner, Bronislav Koska 1 Abstract At the department of special geodesy is
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Watkinsův algoritmus řádkového rozkladu
Watkinsův algoritmus řádkového rozkladu 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 15 Watkinsův algoritmus nepotřebuje výstupní buffer rastrový výstup
Modely prostorových těles
1 3 úrovně pohledu na modely 2 Modely prostorových těles 1997 Josef Pelikán, MFF UK Praha 2007 Jiří Sochor, FI MU Brno svět - fyzikální objekty nemůžeme postihnout jejich složitost a mikroskopické detaily
11 Zobrazování objektů 3D grafiky
11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a
Textura a mapovací funkce Způsoby aplikace textury Použití textury pro prostorovou modifikaci povrchu Mipmapping Literatura.
Mapování textur Pavel Strachota FJFI ČVUT v Praze 28. dubna 2010 Obsah 1 Textura a mapovací funkce 2 Způsoby aplikace textury 3 Použití textury pro prostorovou modifikaci povrchu 4 Mipmapping Obsah 1 Textura
Geoinformační technologie
Geoinformační technologie Geografické informační systémy (GIS) Výukový materiál l pro gymnázia a ostatní středn ední školy Gymnázium, Praha 6, Nad Alejí 1952 Vytvořeno v rámci projektu SIPVZ 1357P2006
Vývoj počítačové grafiky
Vývoj počítačové grafiky Počítačová grafika Základní pojmy Historie ASCII Art 2D grafika Rastrová Vektorová 3D grafika Programy Obsah Počítačová grafika obor informatiky, který používá počítače k tvorbě
7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem
7 Transformace 2D Studijní cíl Tento blok je věnován základním principům transformací v rovinné grafice. V následujícím textu bude vysvětlen rozdíl v přístupu k transformacím u vektorového a rastrového
9 Prostorová grafika a modelování těles
9 Prostorová grafika a modelování těles Studijní cíl Tento blok je věnován základům 3D grafiky. Jedná se především o vysvětlení principů vytváření modelů 3D objektů, jejich reprezentace v paměti počítače.
Simulátor jízdy městem
České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce Simulátor jízdy městem David Tichý Vedoucí práce: Doc. Ing. Jiří Žára, CSc. Obor: Výpočetní technika květen 2006 Zadání Analyzujte
Univerzita Pardubice Fakulta ekonomicko-správní. Počítačová grafika a geometrické transformace v rovině a prostoru. Eva Hladíková
Univerzita Pardubice Fakulta ekonomicko-správní Počítačová grafika a geometrické transformace v rovině a prostoru Eva Hladíková Bakalářská práce 2010 Čestné prohlášení Prohlašuji, že jsem tuto práci
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE. Grafický model zahrady ve 3D. 2010 Petr Šebesta
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE Grafický model zahrady ve 3D 2010 Petr Šebesta Anotace Práce se zabývá vytvořením aplikace, umožňující graficky navrhnout
Distribuované sledování paprsku
Distribuované sledování paprsku 1996-2015 Josef Pelikán, CGG MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz DistribRT 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 24 Distribuované
Počítačová grafika letem světem
1 Počítačová grafika letem světem 2002 Jiří Sochor FI MU Brno sochor@fi.muni.cz http://www.fi.muni.cz/usr/sochor/ 2 Analýza a syntéza obrazu (obrazová) data modelová ní modely analýza (obrazu) syntéza
Programování grafiky ÚVOD
Programování grafiky ÚVOD Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz S použitím materiálů Bohuslava Hudce, Jaroslava
Kde se používá počítačová grafika
POČÍTAČOVÁ GRAFIKA Kde se používá počítačová grafika Tiskoviny Reklama Média, televize, film Multimédia Internetové stránky 3D grafika Virtuální realita CAD / CAM projektování Hry Základní pojmy Rastrová
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
Geoinformační technologie
Geoinformační technologie JDKEY1 1 GEOINFORMATIKA nový vítr v do plachet geografie obor zabývající se informacemi o prostorových objektech, procesech a vazbách mezi nimi geoinformační technologie = konkrétn
České vysoké učení technické v Praze Fakulta elektrotechnická. Autorský nástroj pro projektivní zobrazování na fasády budov
České vysoké učení technické v Praze Fakulta elektrotechnická Autorský nástroj pro projektivní zobrazování na fasády budov Bakalářská práce Autor práce: Martin Kolací Vedoucí práce: Ing. Roman Berka, Ph.D.
GPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata
Obecné výpočty na grafických procesorech Motivace Úvod Motivace Technologie 3 GHz Intel Core 2 Extreme QX9650 Výkon: 96 GFLOPS Propustnost paměti: 21 GB/s Orientační cena: 1300 USD NVIDIA GeForce 9800
Stru ný obsah. Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15
Stru ný obsah Úvod...11 Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15 Základy grafiky, první hra Kapitola 2: Návrh první hry...31 Kapitola 3: Pochopení kostry aplikace DirectX...39 Kapitola
Rastrová reprezentace
Rastrová reprezentace Zaměřuje se na lokalitu jako na celek Používá se pro reprezentaci jevů, které plošně pokrývají celou oblast, případně se i spojitě mění. Používá se i pro rasterizované vektorové vrstvy,
Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu
Zobrazování terénu Jan Vaněk, Bruno Ježek Universita Obrany, Fakulta vojenského zdravotnictví, Katedra všeobecně vzdělávacích oborů e-mail: vanek@pmfhk.cz; jezek@pmfhk.cz Abstrakt Vizualizace terénu je
MATURITNÍ TÉMATA Z MATEMATIKY
MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické
Tutoriál programování grafických procesorů
České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Tutoriál programování grafických procesorů Jana Žďárská Vedoucí práce: Ing. Roman Berka, Ph.D. Studijní program: Elektrotechnika
GPGPU- provádění vědeckých výpočtů prostřednictvím grafických karet osobních počítačů
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta jaderná a fyzikálně inženýrská Katedra matematiky GPGPU- provádění vědeckých výpočtů prostřednictvím grafických karet osobních počítačů Jan Vacata Zaměření:
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
Jana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika 1. Definice oblasti souvisí: a) s definováním množiny všech bodů, které náleží do hranice a zároveň do jejího vnitřku b) s popisem její hranice c) s definováním množiny všech bodů, které