Počítačová 3D grafika
Author
Albert FloresPočítačová 3D grafika je obor počítačové grafiky, který se zabývá vytvářením, zpracováním a renderováním trojrozměrných (3D) grafických objektů a scén pomocí počítače. Tento termín se vztahuje k technikám, metodám a algoritmům, které umožňují vytvářet realistické a živé vizuální efekty, jako jsou modelování objektů, světelné a materiálové vlastnosti, animace a simulace fyzikálních jevů. Počítačová 3D grafika nachází uplatnění v různých oblastech, včetně filmového průmyslu, videoher, architektury, designu, inženýrství a vědecké vizualizace. Pro tvorbu 3D grafiky se využívají specializované software, jako jsou 3D modelovací programy, animační nástroje, renderovací enginy a kompoziční software. V počítačové 3D grafice se využívají různé techniky pro vytváření objektů a scén, včetně polygonálního modelování, spline povrchů, procedurálního generování, parametrického modelování a digitálního sochařství. K renderování scény se používají různé algoritmy, jako je ray tracing, radiosity, scanline rendering a rasterizace. Důležitou součástí počítačové 3D grafiky je také texturování, které umožňuje přidání detailů a realističnosti objektů pomocí textur a materiálových vlastností. Animace je dalším klíčovým prvkem, který umožňuje pohyb a transformaci 3D objektů v čase. Počítačová 3D grafika je neustále se rozvíjející obor, který využívá nejnovějších technologií a metod pro dosažení co největší realismu a kvality vytvořených grafik. S rozvojem hardwarových technologií se zvyšuje výpočetní výkon počítačů a zlepšuje se také možnost vytvářet a renderovat stále složitější a detailnější 3D scény.
Počítačová 3D grafika (tzv. trojrozměrná grafika) je v informatice označení pro speciální část počítačové grafiky, která pracuje s trojrozměrnými objekty. Převod 3D objektů do 2D zobrazení se nazývá renderování. Nejznámějším využitím počítačové 3D grafiky je vytváření animací (pro tvorbu filmů nebo počítačových her), avšak 3D grafika je využívána i ve vědě a průmyslu (například pro počítačové simulace nebo trojrozměrné zobrazení orgánů).
Historie
Výzkum v oblasti 3D grafiky probíhal současně na mnoha místech převážně ve Spojených státech amerických od 60. let 20. +more století. Nejvýznamnější roli v tomto oboru sehrála Univerzita v Utahu, kde byl roku 1968 Davidem Evansem založen projekt pro rozvoj počítačové grafiky. Utažské univerzitě se podařilo pro tento program získat jak dostatek peněz, tak přední experty v oboru (na univerzitě pracoval mimo jiné i Ivan Sutherland) a v průběhu let univerzita dosáhla významných výsledků. Mezi důležité objevy provedené v rámci tohoto programu patří:.
* Základní algoritmy a techniky renderování (například z-buffer, anti-aliasing, perspektivní zkreslení. ) * Mapování textur („pokrytí“ povrchu tělesa obrázkem) +morejpg|náhled'>Různé metody stínování * Algoritmy pro stínování těles - stínováním se rozumí vykreslení určitého místa na povrchu tělesa správnou barvou pro vytvoření iluze trojrozměrnosti. Nejjednodušší metoda (flat shading, konstantní stínování) vybarví celý polygon jedním odstínem barvy. Existuje ale několik metod pro simulaci zaoblených tvarů: ** Gouraudovo stínování je algoritmus vynalezený v roce 1971 Francouzem Henrim Gouraudem. Spočívá ve vytvoření iluze zaoblenosti interpolováním barvy podél povrchu. ** Phongovo stínování je pomalejší, ale přesnější technika vynalezená Buiem Tuongem Phongem. Iluze oblého povrchu je vytvořena interpolováním směru normály podél povrchu polygonu s nastavitelnou velikostí odrazivosti (lesklosti) materiálu. Tato metoda byla později optimalizována Jimem Blinnem, dalším pracovníkem utažské univerzity. V dnešní době jde o široce využívanou metodu. * Edwin Catmull a Jim Clark vyvinuli metodu zaoblení povrchu tělesa rozdělením na menší po změnu reliéfu povrchu (Bump mapping) a další.
Několik výzkumníků univerzity později založilo významné firmy na poli počítačové grafiky, například Silicon Graphics (Jim Clark), Adobe Systems (John Warnock), Netscape (Jim Clark) nebo Pixar (Edwin Catmull). +more Neopomenutelným produktem utažské univerzity je nejslavnější model v historii počítačové grafiky, konvice z Utahu, kterou vytvořil Martin Newell.
Prvním filmem, kde se objevily 3D grafické počítačem generované obrázky, se v roce 1976 stal Futureworld a prvním celovečerním 3D-animovaným filmem byl Toy Story z roku 1995.
Prvním českým 3D animovaným filmem byl v roce 2008 Kozí příběh - pověsti staré Prahy.
Modelování
Konvice z Utahu, nejslavnější 3D model Pojmem 3D modelování se rozumí proces tvarování a vytváření 3D modelu, který může být reprezentován několika způsoby. +more Modely mohou být vytvořeny na počítači člověkem pomocí modelovacího nástroje, podle dat získaných měřicím přístrojem z reálného světa nebo na základě počítačové simulace.
Reprezentace těles
Asi nejobvyklejší reprezentace tvaru tělesa je tzv. hraniční reprezentace. +more Těleso je popsáno jako mnohostěn zcela určený svými hranicemi (stěnami, hranami a vrcholy). Téměř všechny počítačové modely, které se používají ve hrách a filmech, jsou hraniční modely.
V projektování a CAD se používá metoda CSG (konstruktivní geometrie pevných těles). Modely se konstruují z primitivních geometrických těles (koule, kvádr, válec, kužel, toroid) operacemi sjednocení, průniku a rozdílu. +more Pro zobrazování se tento model většinou převádí do hraniční reprezentace.
V objemové reprezentaci jsou tělesa definována jako množina bodových vzorků získaných např. lékařským tomografem nebo 3D scannerem. +more Pro zobrazování se používá metoda sledování paprsku, speciální algoritmy (které zviditelňují buď objem nebo povrch) nebo se tělesa převádějí do hraniční reprezentace.
Texturování
Jednou z významných činností při tvorbě 3D grafiky je vytváření a mapování textur. Textura je obrázek, kterým je „obaleno“ těleso; v nejjednodušší formě jsou textury používány pro obarvení modelu, ale na tělese může být více vrstev textur, které určují například i průhlednost či lesklost v daném bodě na povrchu. +more Pomocí textur je možné dosáhnout velmi dobrých výsledků a vysoké úrovně detailu při použití relativně jednoduchého modelu.
Každý bod na povrchu tělesa má potom kromě souřadnic X, Y, Z (které určují polohu bodu v prostoru) ještě 2 souřadnice označované většinou jako U a V, které určují umístění textury na daném místě. Proces umísťování textury na povrch tělesa se proto často nazývá „UV mapování“.
Animace
Pod pojmem „animace“ se ve 3D grafice nerozumí pouze samotný pohyb objektů, ale i definice zdrojů světla, úhlu pohledu kamery, barev a dalších prvků, které se mohou měnit v čase. Nejjednodušší metoda animace zvaná keyframing je založená na stejném principu jako klasická 2D počítačová animace. +more Spočívá v definování klíčových „mezních“ pozic, mezi kterými potom počítač vytvoří plynulý přechod.
Animace postav a mechanických zařízení je ve 3D grafice často založena na animaci kostry modelu. Stejně jako skutečný živý organismus i 3D model má kostru a jednotlivým částem modelu se určí, ke které kosti náleží. +more Pokročilé 3D grafické nástroje usnadňují animaci kostry díky technice zvané inverzní kinematika. Na rozdíl od klasické animace kostry, kdy animátor určuje úhly všech kloubů, stačí při použití inverzní kinematiky určit pozici několika klíčových částí kostry a polohy kloubů jsou dopočítány algoritmicky.
Existuje mnoho dalších technik animace, které se využívají ve 3D grafice. Některé programy umožňují animaci na základě simulace fyzikálních jevů jako je gravitace, pohyb vodní hladiny a podobně. +more Pro velmi realistickou animaci postav se zase využívá technologie motion capture, kdy je pomocí speciálního zařízení zachycen pohyb živého herce a nahraná data jsou potom aplikována na 3D model postavy.
Renderování
Ve trojrozměrné grafice je možné dosáhnout velmi realistických výsledků
Rendering je vykreslení dvourozměrného obrazu na základě modelu scény a dalších informací (polohy pozorovatele, textur, osvětlení a stínování). Simulují se zejména tyto vlastnosti obrazu:
* Stínování - kolísání barvy a jasu povrchu v závislosti na osvětlení * Texturování - dodání realistického vzhledu povrchu modelu * Bump mapping - metoda napodobující drobné nerovnosti povrchu * Mlha - tlumení světla při průchodu atmosférou * Stíny - důsledek zakrytí zdroje světla jiným objektem * Měkké stíny - různé úrovně osvětlení způsobené částečně zakrytými světelnými zdroji * Odraz světla - zrcadlové nebo velmi lesklé reflexe * Průhlednost - šíření světla skrze objekty bez zkreslení * Průsvitnost - šíření světla skrze objekty se zkreslením * Refrakce - ohyb světla spojený se šířením světla skrze objekty * Difrakce - ohyb, šíření a interference paprsků na hranách objektů * Nepřímé osvětlení - plochy, které jsou osvětleny odrazy z jiných ploch, nikoli přímo od zdroje světla * Kaustika - forma nepřímého osvětlení, světelné paprsky odražené nebo lomené nějakým objektem * Hloubka ostrosti - objekty vzdálené od objektu v centru pozornosti se jeví nezaostřené * Pohybové rozostření - rychle pohybující se objekty se jeví rozmazané * Nefotorealistické zobrazování - vykreslování scény v uměleckém stylu, který má připomínat malování nebo kreslení
Pro realistický vzhled scény je potřeba simulovat především šíření a rozptyl světla v celé scéně (globální osvětlení). Dva nejznámější algoritmy jsou sledování paprsku a radiozita.
* Sledování paprsku je metoda založená na zpětném sledování paprsku vycházejícího z oka pozorovatele a jeho kolizí s tělesy ve scéně. Dobře simuluje ostré stíny, zrcadlové odrazy (i vícenásobné) a průhledné objekty. +more Algoritmus neposkytuje fotorealistický výstup a příliš se nehodí pro simulaci v reálném čase.
* Radiozita je metoda využívající fyzikální zákony o šíření energie v prostoru. Je vhodná k simulování nepřímého (odraženého) osvětlení ve scéně s matnými povrchy. +more Nedokáže pracovat s průhlednými objekty a zrcadly. Scéna musí být reprezentována polygonálním modelem.
Součástí fáze renderování je projekce ze tří do dvou rozměrů.
Reference
Související články
Počítačová 2D grafika * Vektorová grafika * Bézierova křivka * NURBS * Software pro 3D grafiku * Shader * DirectX * OpenGL