“If it looks like computer graphics, it is not good computer graphics.” —Jeremy Birn Osnova Úvod Úvod wolfenstein-3d.png 2.5D – Wolfenstein 3D (1992) Siluety – Limbo (2010) Siluety – Nightsky (2001) Siluety – Hero of Many (2013) Cartoon, outlines – Dungeon Defenders (2011) Cartoon, outlines – Prince of Persia Cartoon – Team Fortress II (2007) Cartoon – Bastion (2011) Hatching – The Bridge (2013, Unity) Ruční kresba – Inquisitor (2012) Ruční kresba – Machinarium (2009) Ruční kresba – Botanicula (2012) Vykreslování 3D dat Osnova Polygonální sítě – opakování Polygonální síť – tvorba Polygonální síť – tvorba Polygonální síť – vykreslování Polygonální síť – vykreslování Grafické karty Frekvence Procesoru MHz Velikost Paměti MB Propustnost Paměti GB/s Zpracování Textur Mtexel/s Passmark RIVA 128 (1997) 100 4 1.6 100 n/a GeForce2 MX 400 (2004) 250 64 2.65 1 000 n/a GeForce4 MX440-SE (2009) 270 128 5.8 1 100 3 Geforce 240 (2009) 500 512 54 17 600 645 Geforce 580 (2010) 772 1 536 192 49 408 4 975 Geforce 780 (2013) 863 3 072 288 165 696 8 057 GTX Titan Z (2014) 837 12 288 672 338 000 7 492 Polygonální síť – Optimalizace Level of Details – opakování LoD – tvorba Diskrétní LoD Spojité LoD Spojité LoD Spojité LoD LoD – další varianty Dělení povrchu (subdivision) Mapování textur – opakování Tomáš Mádr - high-poly model: 20 000 000 polygonů Tomáš Mádr: low-poly model + normálová mapa: 11 500 polygonů Tomáš Mádr: low-poly model + barevná, odrazivá a normálová mapa: 11 500 polygonů Parallax mapping Parallax Occlusion Mapping Shadery – opakování Shadery – historie Fragment Pipeline Vertex Pipeline Texture Units Shader Processor (cuda cores) RIVA 128 (1997) 1 0 1 na GeForce2 (2004) 2 0 4 na GeForce 8500 GT (2007) 8 16 GeForce 240 GT (2009) 32 96 GeForce 580 GTX (2010) 64 512 GeForce 680 GTX (2012) 128 1536 GeForce 780 GTX (2013) 192 2304 GTX TITAN Z (2014) 480 5760 Teselace na GPU Vyhlazení pomocí teselace Vyhlazení + displacement mapping pomocí teselace Vyhlazení + displacement mapping pomocí teselace CryEngine: displacemet pomocí teselace Adaptivní teselace Klasická (vlevo) a adaptivní (vpravo) teselace (podle zakřivení) Adaptivní teselace Adaptivní teselace: podle vzdálenosti od kamery (b), podle zakřivení (c) Optimalizace v prostoru obrazu Osnova Voxely – opakování Voxely – datové struktury Voxely – datové struktury Voxely – techniky ukládání dat Hry využívající voxely Hry založené na voxelech Osnova Terén – vstupní data Terén – ukládání Terén – vykreslování Terén – vykreslování – „Clip-maps“ 02_clipmaps_01.jpg Terén – vykreslování – „Clip-maps“ 02_clipmaps_02.jpg Terén – vykreslování – ROAM XNA_ROAM.jpg Terén – Převisy, jeskyně, … Literatura •Knihy Game Programming Gems •Knihy GPU Gems (2004 … ) •J. D. Foley: Computer Graphics: Principles and Practice. (1990) •Watt – 3D Games:Volume 1: Real-Time Rendering and Software Technology (2000) •D. Luebke: Level of Detail for 3D Graphics, 2002 •… • •T. Mádr: Tvorba herního charakteru, BP •R. Tisovčík: •Generation and Visualization of Terrain in Virtual Environment, BP •Cartography in Virtual Environment, DP • •