Počítačová grafika
Obsah boxu
Počítačová grafika je široký obor informatiky, který se zabývá tvorbou, úpravou, ukládáním a zobrazováním umělých obrazů a modelů (syntetického vizuálního obsahu) pomocí počítačů. Zahrnuje jak technické aspekty generování obrazu, tak i estetické a umělecké principy. Počítačová grafika je dnes nedílnou součástí mnoha odvětví, od zábavního průmyslu přes vědu až po průmyslový design.
V zásadě se jedná o proces, při kterém jsou matematické a geometrické popisy objektů a scén převedeny do podoby pixelů na zobrazovacím zařízení, jako je monitor nebo displej mobilního telefonu.
📜 Historie
Počátky počítačové grafiky sahají do 50. let 20. století, kdy první počítače začaly být využívány pro generování jednoduchých obrazců na osciloskopických obrazovkách.
🏛️ Průkopnická léta (1950–1970)
Za jeden z klíčových milníků je považován systém Sketchpad, který v roce 1963 představil Ivan Sutherland na MIT. Sketchpad umožňoval uživatelům kreslit a manipulovat s geometrickými tvary přímo na obrazovce pomocí světelného pera, čímž položil základy pro interaktivní grafiku a systémy CAD (Computer-Aided Design). V této době také vznikaly první experimenty s počítačovou animací. V roce 1961 vytvořil Edward E. Zajac v Bell Labs první počítačem generovanou animaci, která simulovala pohyb satelitu kolem Země.
📈 Vzestup 3D grafiky a filmového průmyslu (1970–1990)
V 70. letech došlo k zásadnímu teoretickému pokroku. Ed Catmull (pozdější spoluzakladatel Pixaru) a další výzkumníci na University of Utah vyvinuli klíčové algoritmy pro 3D grafiku, jako je Z-buffering pro řešení viditelnosti objektů, texturování a stínování. Tyto techniky umožnily vytvářet realističtěji vypadající obrazy.
První významné použití 3D grafiky ve filmu přišlo s filmy jako Futureworld (1976), kde byla zobrazena digitální ruka a tvář, a Star Wars: Epizoda IV – Nová naděje (1977), kde byla počítačová grafika použita pro vizualizaci plánů Hvězdy smrti. Zlomovým filmem byl Tron (1982), který obsahoval rozsáhlé sekvence generované počítačem. V roce 1986 vzniklo studio Pixar, které se původně zaměřovalo na vývoj hardwaru pro renderování, ale brzy se stalo lídrem v oblasti 3D animace.
🎮 Revoluce v reálném čase a herní průmysl (1990–2010)
Devadesátá léta byla ve znamení nástupu výkonných grafických karet (GPU) pro osobní počítače. Společnosti jako Nvidia a ATI (později pohlcená AMD) uvedly na trh akcelerátory, které umožnily plynulé zobrazování 3D grafiky v reálném čase. To odstartovalo revoluci v počítačových hrách. Hry jako Doom (1993) a Quake (1996) definovaly žánr first-person shooter a posouvaly hranice toho, co bylo možné v reálném čase zobrazit.
Ve filmu dosáhla počítačová grafika fotorealismu ve filmech jako Jurský park (1993) a Terminátor 2: Den zúčtování (1991). V roce 1995 uvedl Pixar první celovečerní plně počítačově animovaný film Toy Story: Příběh hraček, což byl historický milník.
💡 Moderní éra (2010–současnost)
Po roce 2010 se hlavním trendem stalo fyzikálně korektní renderování (PBR), které simuluje chování světla podle skutečných fyzikálních zákonů. Technologie jako Ray-tracing v reálném čase, dříve dostupná pouze pro offline renderování filmů, se stala standardem v herních grafických kartách, což přineslo bezprecedentní úroveň realismu do her. Rozvoj virtuální a rozšířené reality klade nové nároky na výkon a latenci grafických systémů.
⚙️ Základní dělení
Počítačovou grafiku lze dělit podle několika klíčových kritérií.
🖼️ Vektorová vs. rastrová grafika
Toto je nejzákladnější dělení podle způsobu reprezentace obrazových dat.
- Rastrová grafika (též bitmapová) popisuje obraz jako mřížku barevných bodů, tzv. pixelů. Každý pixel má definovanou barvu a pozici. Tento přístup je ideální pro zobrazení komplexních scén s plynulými barevnými přechody, jako jsou fotografie nebo digitální malby. Nevýhodou je ztráta kvality při zvětšování (aliasing), kdy se jednotlivé pixely stávají viditelnými. Typickými formáty jsou JPEG, PNG, GIF a BMP. Software: Adobe Photoshop, GIMP.
- Vektorová grafika neukládá obraz jako body, ale jako sadu matematických objektů (křivek, přímek, mnohoúhelníků). Tyto objekty jsou definovány body a rovnicemi. Hlavní výhodou je, že obraz lze libovolně zvětšovat či zmenšovat bez ztráty kvality. Je ideální pro loga, diagramy, ikony a ilustrace. Typickými formáty jsou SVG, AI a EPS. Software: Adobe Illustrator, Inkscape, CorelDRAW.
🧊 2D vs. 3D grafika
- 2D grafika pracuje s dvourozměrnými objekty na ploše (šířka a výška). Zahrnuje jak rastrovou, tak vektorovou grafiku. Je základem pro webdesign, tiskoviny, uživatelská rozhraní a 2D animace.
- 3D grafika pracuje s objekty definovanými v trojrozměrném prostoru (šířka, výška a hloubka). Počítač ukládá matematický model scény, který je následně pomocí procesu zvaného renderování převeden na 2D obraz pro zobrazení na monitoru. Je základem pro moderní filmy, hry a vizualizace.
🏃♀️ Statická vs. animovaná grafika
- Statická grafika označuje jednotlivé, nepohyblivé obrázky (fotografie, ilustrace, diagramy).
- Animovaná grafika vytváří iluzi pohybu rychlým sledem statických obrázků (snímků). Může být 2D (kreslené filmy) i 3D (moderní animované filmy, herní postavy).
🎮 Interaktivní vs. neinteraktivní grafika
- Neinteraktivní (pasivní) grafika je předem vytvořený vizuální obsah, který uživatel nemůže ovlivnit. Typickým příkladem je film nebo televizní vysílání.
- Interaktivní grafika reaguje na vstup uživatele v reálném čase. Uživatel může měnit pohled kamery, pohybovat objekty nebo jinak interagovat se scénou. Toto je základní princip počítačových her, simulátorů a aplikací pro virtuální realitu.
🏗️ Proces tvorby 3D grafiky
Vytvoření komplexní 3D scény je vícestupňový proces, často označovaný jako "pipeline".
📐 Modelování
Prvním krokem je vytvoření geometrického tvaru objektů. Model je v podstatě digitální "kostra" nebo "socha" složená z vrcholů (vertices), hran (edges) a ploch (polygons).
- Polygonální modelování: Nejběžnější technika, kde je povrch objektu aproximován sítí mnohoúhelníků (nejčastěji trojúhelníků nebo čtyřúhelníků).
- NURBS modelování: Využívá matematicky definované křivky a plochy, což umožňuje vytvářet dokonale hladké a organické tvary. Často se používá v průmyslovém designu.
- Digitální sochařství (Sculpting): Umělec manipuluje s modelem podobně jako s hlínou, což umožňuje vytvářet velmi detailní a organické modely (postavy, monstra).
🎨 Texturování a materiály
Samotný model je jen bezbarvý tvar. Aby vypadal realisticky, musí mu být přiřazeny materiály a textury.
- Textura: 2D obrázek, který se "obalí" kolem 3D modelu (proces zvaný UV mapování). Textury definují barvu, vzory, ale i další vlastnosti povrchu (drsnost, lesk, nerovnosti).
- Materiál (Shader): Sada instrukcí, která definuje, jak povrch objektu reaguje na světlo. Moderní fyzikálně korektní materiály (PBR) simulují vlastnosti jako je odrazivost, průhlednost, lom světla nebo kovovost.
💡 Osvětlení a kamery
Do scény se umístí virtuální světla (bodová, plošná, směrová) a virtuální kamera. Osvětlení je klíčové pro vytvoření atmosféry a realismu. Kamera definuje úhel pohledu, ze kterého bude scéna pozorována.
🎬 Animace
Pokud má být scéna dynamická, následuje animace.
- Klíčování (Keyframing): Animátor definuje klíčové pozice objektu v čase a počítač dopočítá plynulý přechod mezi nimi.
- Rigging: Vytvoření vnitřní "kostry" (rig) pro postavu, která umožňuje animátorovi pohybovat s ní přirozeným způsobem.
- Fyzikální simulace: Pro jevy jako je pohyb látky, vlasů, vody nebo exploze se používají simulace založené na fyzikálních zákonech.
🖼️ Renderování
Renderování je finální a výpočetně nejnáročnější fáze, kdy počítač na základě všech dat (modelů, textur, světel, kamery) vygeneruje výsledný 2D obraz.
- Rasterizace: Rychlá metoda používaná primárně v hrách. 3D objekty jsou promítnuty na 2D plochu obrazovky a následně "vybarveny" pixely.
- Ray-tracing: Fyzikálně přesnější metoda, která simuluje dráhu jednotlivých paprsků světla od kamery do scény. Poskytuje velmi realistické odrazy, stíny a lomy světla, ale je výrazně pomalejší. Dříve se používala jen pro filmy, dnes se v reálném čase objevuje i ve hrách.
✨ Postprodukce
Vyrenderovaný obraz nebo video sekvence se často dále upravuje. Tento proces, zvaný kompoziting, zahrnuje například korekci barev, přidávání efektů (zář, hloubka ostrosti), nebo spojování počítačem generovaných prvků se záběry z reálného světa (VFX).
🌍 Využití v praxi
Počítačová grafika pronikla do téměř všech oblastí lidské činnosti.
- Filmový průmysl a vizuální efekty (VFX): Tvorba digitálních postav, prostředí, explozí a integrace CGI (Computer-Generated Imagery) do živých záběrů.
- Počítačové hry: Celé herní světy, postavy a efekty jsou tvořeny pomocí interaktivní 3D grafiky v reálném čase.
- Architektura a vizualizace: Tvorba fotorealistických vizualizací budov a interiérů ještě před jejich stavbou.
- Průmyslový design a inženýrství (CAD/CAM): Návrh a testování produktů, od automobilů po mobilní telefony.
- Vědecká vizualizace: Zobrazování komplexních dat v medicíně (CT, MRI), astronomii (simulace galaxií), meteorologii a dalších oborech.
- Reklama a marketing: Tvorba produktových vizualizací, animovaných reklam a grafických materiálů.
- Uživatelská rozhraní (GUI): Všechny ikony, okna a grafické prvky v operačních systémech a aplikacích.
- Virtuální realita (VR) a Rozšířená realita (AR): Tvorba pohlcujících digitálních světů a překrývání grafických informací přes reálný svět.
🧑🏫 Pro laiky: Jak to funguje?
Představte si počítačovou grafiku pomocí několika jednoduchých přirovnání:
- Rastrová grafika (fotka): Je to jako obrovská mozaika složená z milionů malinkých barevných dlaždiček (pixelů). Z dálky vypadá obraz dokonale, ale když se přiblížíte, uvidíte jednotlivé dlaždičky. Proto se fotka při velkém zvětšení "rozpixeluje".
- Vektorová grafika (logo): Není to mozaika, ale spíše sada instrukcí pro robota-kreslíře: "Nakresli červený kruh s tímto středem a poloměrem, pak přidej modrou čáru od bodu A do bodu B." Protože robot vždy kreslí podle přesných instrukcí, může logo nakreslit na vizitku i na billboard a vždy bude dokonale ostré.
- 3D grafika (postava ve hře): Představte si drátěnou kostru postavy (to je model). Tuto kostru pak "oblečete" do potištěné látky (to je textura). Nakonec na scénu postavíte virtuální reflektory (světla) a podíváte se na ni skrze virtuální kameru. Počítač pak spočítá, jak by scéna z pohledu kamery vypadala, a vykreslí finální obrázek.
- Renderování: Je to proces, kdy počítač "vyvolává fotku" z virtuální 3D scény. U her musí tento proces proběhnout bleskově (např. 60krát za sekundu), aby byl pohyb plynulý. U filmů, kde záleží na maximální kvalitě, může "vyvolání" jednoho jediného filmového políčka trvat i několik hodin.
🔑 Klíčové technologie a pojmy
- GPU (Graphics Processing Unit): Specializovaný procesor navržený pro rychlé provádění grafických výpočtů. Je srdcem každé moderní grafické karty.
- Shader: Malý program, který běží na GPU a definuje, jak má vypadat povrch objektu (jeho barva, lesk, textura atd.).
- Ray-tracing: Pokročilá renderovací technika, která simuluje fyzikální chování světla pro dosažení vysokého realismu.
- Rasterizace: Rychlejší renderovací technika, která převádí 3D data na 2D pixely. Je základem většiny her v reálném čase.
- Polygon: Základní stavební prvek 3D modelů, nejčastěji trojúhelník nebo čtyřúhelník.
- Grafické API (Application Programming Interface): Rozhraní, které umožňuje softwaru (např. hře) komunikovat s grafickou kartou. Nejznámější jsou DirectX (od Microsoftu), OpenGL a jeho nástupce Vulkan (otevřené standardy).
- CAD (Computer-Aided Design): Systémy pro počítačem podporované navrhování, používané v inženýrství a architektuře.