2D a 3D počítačová grafika: základy a principy

2D a 3D počítačová grafika: Základy a principy

Co zahrnují základy 2D a 3D počítačové grafiky

Počítačová grafika je disciplína, která se zabývá reprezentací, zpracováním a zobrazováním obrazových dat. Ve 2D grafice pracujeme především s plochami, barvami a kompozicí; ve 3D grafice s geometrií ve třech rozměrech, světlem a materiály. Společným jmenovatelem je matematický model světa (či obrazu), vzorkování na diskrétní mřížku obrazových bodů a fyzikálně podložené zobrazení na výstupním zařízení.

Rastrová vs. vektorová grafika: dva základní modely 2D reprezentace

Rastrová grafika reprezentuje obraz jako matici pixelů s barevnými hodnotami. Výhodou je věrnost fotografickým detailům a jednoduché zpracování filtrů; nevýhodou je škálování (pixelizace) a vysoké nároky na paměť při vysokém rozlišení.

Vektorová grafika používá geometrické primitivy (body, úsečky, Bézierovy křivky, výplně). Lze ji škálovat bez ztráty kvality, takže je ideální pro loga, ilustrace a typografii. Vykreslení do rastrového obrazu probíhá až při zobrazení či exportu.

Barevné modely a správa barev

Barva se v počítačích popisuje modely jako RGB (aditivní míchání světel pro obrazovky), CMYK (subtraktivní model pro tisk), HSV/HSL (percepčně orientované modely) nebo CIE L*a*b* (přibližně uniformní z hlediska vnímání). Pro věrné zobrazení je nutná správa barev (profily ICC), volba barevného prostoru (sRGB, Display P3, Rec.709, Rec.2020) a správná práce s gammou a lineárními daty.

Vzorkování, rekonstrukce a aliasing

Konverze spojité scény na diskrétní pixely se nazývá vzorkování. Nesplnění Nyquistových podmínek vede k aliasingu (zubaté hrany, moiré). Řešením je vyhlazování hran (MSAA, SSAA, FXAA/TAA), předfiltrované textury (mipmapping, anizotropní filtrování) a rekonstrukční filtry (box, bilineární, bikubický, Lanczos).

2D kompozice: vrstvy, alfa a prolnutí

Kompozice více vrstev používá alfa kanál pro průhlednost. Rozlišujeme přímou (straight) a přednásobenou alfu (premultiplied alpha); přednásobení zjednodušuje správné prolnutí a minimalizuje halo. Typické operace jsou over, additive, multiply, screen, které odpovídají fyzikálním i kreativním způsobům kombinování světel a pigmentů.

Geometrické transformace ve 2D a 3D

Posun, rotace a škálování se sjednocují do afinních transformací popsaných maticemi. V homogenních souřadnicích 3×3 (2D) nebo 4×4 (3D) lze transformace řetězit násobením. Ve 3D se orientace často reprezentuje kvaterniony (bez gimbal locku), interpolace probíhá metodami slerp/lerp.

3D geometrie: polygony, plochy a křivky

Základní 3D reprezentací je polygonální síť (triangulace). Pro CAD a přesné modely se používají Bézierovy plochy a NURBS. Normály, tečny a binormály definují lokální souřadnicový rámec pro osvětlení a mapování textur. Topologie (hrany, vrcholy, smyčky) ovlivňuje kvalitu deformačních operací (skin, rigging).

Projekce, kamera a ořezávání

3D scéna se promítá do 2D obrazu pomocí projekční matice. Perspektivní projekce zachovává iluzi hloubky (vzdálené objekty se zmenšují), ortografická projekce ji potlačuje (užitečná pro technické zobrazení). Objekty mimo zorný jehlan se ořezávají, neviditelné zadní strany se odstraňují (odstraňování zadních stěn).

Grafický vykreslovací řetězec (pipeline)

Moderní pipeline zahrnuje fáze: aplikace (příprava geometrie a stavů), vertex/mesh shading (transformace vrcholů, generování geometrie), případně teselace, rasterizace (převod na fragmenty), fragment shading (výpočet barvy), testy (hloubka, šablona), kompozice a post-processing. V reálném čase běží na GPU (OpenGL, Vulkan, Direct3D, Metal, WebGPU).

Osvětlení a lokální modely stínování

Klasické lokální modely: Lambert (difúzní), Phong/Blinn-Phong (zrcadlové odrazy). Parametry materiálu (albedo, lesk/exponent) řídí rozložení odražené energie. Normálové mapy upravují orientaci povrchu bez změny geometrie, čímž zvyšují jeho detailnost.

Fyzikálně založené vykreslování (PBR)

PBR zajišťuje energetickou konzistenci a realističnost. Materiály popisuje BRDF (např. GGX/Trowbridge-Reitz) a respektuje mikrofazetový model, Fresnelův jev a geometrické stínění. Běžný pracovní postup metalness-roughness využívá mapy albeda/základní barvy, normál, kovovosti, drsnosti a ambientního okluzního stínování, případně výškovou/paralaxní mapu.

Globální osvětlení a stíny

Lokální modely ignorují vícenásobné odrazy. Globální osvětlení (radiosity, path tracing) zahrnuje vzájemné odrazy a přenos barev. V reálném čase se používají aproximace: ambientní okluzní stínování v prostoru obrazovky, sondy odrazů, světelné mapy, voxelové globální osvětlení. Stíny: mapování stínů (PCF/PCSS), mapy stínů s rozptylem, kaskádové mapy stínů pro rozsáhlé scény.

Ray tracing vs. rasterizace

Rasterizace je extrémně rychlá při určování primární viditelnosti. Ray tracing sleduje paprsky scénou a přirozeně řeší odrazy, lomy a měkké stíny. Hybridní přístup (RT pro efekty, rasterizace pro základ) je standardem v moderních enginech a je urychlován pomocí BVH/SAH a RT jader GPU.

Texturování a mapování parametrických souřadnic

Textury přidávají detaily: barvu (albedo), drsnost, výškové informace (paralaxní/relief mapping), emisivitu. UV mapování rozvine povrch do 2D, projekční a triplanární techniky pomáhají při tvorbě procedurálních materiálů. Mipmapping a anizotropní filtrování stabilizují vzorkování v perspektivě.

Hloubka, Z-buffer a viditelnost

Z-buffer ukládá pro každý pixel nejbližší hloubku. Hloubkový test rozhoduje o tom, který fragment je viditelný. Kvůli nelinearitě perspektivní projekce je důležité vhodně volit roviny near/far, aby se minimalizoval z-fighting. Další techniky: průhlednost nezávislá na pořadí (A-buffer, seznamy propojených prvků pro jednotlivé pixely), vyřazování zakrytých objektů.

Animace, kinematika a deformace

Vektorové 2D animace využívají transformace křivek a klíčové snímky. Ve 3D se používá skeletální animace (kostra, skinning – lineární LBS nebo skinning pomocí duálních kvaternionů), kinematika (dopředná/inverzní), morfy pro výrazy a simulace pro látky, vlasy a měkká tělesa.

Typografie, SDF a 2D rozhraní

Text ve 2D/3D se vykresluje pomocí polí znaménkových vzdáleností, která umožňují ostré hrany v různých měřítcích. Hinting, kerning a mřížka účaří zajišťují čitelnost. Vektorová písma (OTF/TTF) se rasterizují adaptivně podle DPI a transformací.

HDR, tonemapping a barevné pipeline

HDR vykreslovací cíle (float16) umožňují akumulovat vysoké hodnoty jasu, které se následně mapují do rozsahu displeje pomocí tonemapperů (Reinhard, Hable, ACES). Důležité je zachovat lineární pracovní postup: výpočty v lineárním prostoru, převod do cílové OETF (např. sRGB) až při výstupu.

Formáty souborů a komprese

2D: PNG (bezztrátový s alfou), JPEG/JPEG XL (ztrátové, fotografie), WebP/AVIF (moderní komprese, alfa). 3D: OBJ (jednoduchý, bez hierarchie), FBX (animace), glTF 2.0 (moderní přenos materiálů PBR, komprese geometrie Draco, textur KTX2/BasisU). Textury pro real-time se často ukládají v blokových kompresních formátech GPU (BC/DXT, ASTC, ETC).

Výkon, škálování a optimalizace

Pro real-time je klíčové omezit počet volání vykreslování (instancing, batching), používat úroveň detailů (LOD geometrie a shaderů), efektivní vyřazování objektů (zorný jehlan, okluze, osvětlení v blocích či dlaždicích) a minimalizovat přepínání stavů GPU. Na straně CPU pomáhá datově orientovaný návrh (SoA), struktury šetrné ke cache a vícevláknové zpracování (systémy úloh).

Procedurální generování a pracovní postup založený na uzlech

Procedurální techniky (šum Perlin/Simplex, Worley, fraktály, L-systémy) generují textury i geometrii. Editory založené na uzlech (materiály, geometrie) podporují nedestruktivní tvorbu a varianty. Funkce znaménkové vzdálenosti se používají pro ray marching a konstrukční geometrii (CSG).

2D pipeline: filtry, konvoluce a efekty

Obrazové filtry se implementují jako konvoluce s jádry (Gaussovo rozostření, doostření, detekce hran). Adaptivní metody (bilaterální filtr) zachovávají hrany. V reálném čase se efekty realizují jako průchody post-processingu nad čtyřúhelníkem přes celou obrazovku: bloom, hloubka ostrosti, vinětace, chromatická aberace, filmové zrno.

Fyzikální korektnost vs. umělecké záměry

Striktně fyzikální modely zajišťují konzistenci, ale ne vždy estetický výsledek. Umělecké vedení se často opírá o stylizaci (toon shading, fotorealistické nevykreslování), manipulaci s tónovými křivkami, barevnými LUT a řízené porušování fyzikálních zákonitostí v bezpečných mezích.

Webová grafika: Canvas, WebGL a WebGPU

Na webu se 2D rasterizace provádí prostřednictvím Canvas 2D, náročnější 2D/3D scény využívají WebGL (OpenGL ES) a nově také WebGPU (moderní API blízké Vulkanu/Metalu/D3D12). Správná správa zařízení, změna velikosti, DPI a barevného prostoru je nezbytná pro konzistentní výstup napříč prohlížeči.

Tisk vs. obrazovka: rozlišení, DPI a rasterizace

Displeje pracují s PPI (pixely na palec) a aditivním RGB, tiskárny s DPI (body na palec) a CMYK. Pro tisk je nutná vyšší hustota vzorků a správný převod barev (záměr vykreslení). Vektorové podklady minimalizují artefakty při škálování; fotografie vyžadují správné doostření a převzorkování.

Přístupnost a čitelnost v grafice

Kontrastní poměry, minimální velikosti písma, palety vhodné pro barvoslepé a jasná hierarchie jsou klíčové v rozhraních, infografice i vizualizaci dat. V reálném čase je důležitá stabilita obrazu (minimální blikání, stabilní temporální filtry) a čitelnost v různých světelných podmínkách.

Úzká místa a diagnostika

Profilování odhaluje, zda je úzkým místem CPU (příprava volání vykreslování, logika), nebo GPU (propustnost vyplňování pixelů, limitace paměťovou propustností, ALU). Nástroje pro zachycení snímků (RenderDoc, NSight), časovače GPU a teplotní mapy nadměrného vykreslování pomáhají cílit optimalizace. Na straně 2D pomáhá analyzátor vrstev a pořadí kompozice.

Etapy tvorby grafického aktiva

Typický pracovní postup při tvorbě 3D aktiva: blokování tvaru, tvorba high-poly modelu, retopologie, rozvinutí UV mapy, baking map (normal/ambient occlusion/curvature), PBR texturování, generování LOD a export do enginu/glTF. U 2D: moodboard, skica, vektorová konstrukce, kolorování, export v cílových rozlišeních a formátech.

Trendy: neurální vykreslování a diferenciální rasterizace

Neurální metody (super-resolution, odšumování, upscalery) a neurální pole záření (NeRF) umožňují rekonstruovat scénu z fotografií. Diferenciální vykreslování propojuje grafiku a strojové učení; umožňuje optimalizaci tvaru a materiálů pomocí gradientu. V praxi se stále častěji využívá hybridní RT, temporální upscalery a robustní PBR pipeline.

Závěr: integrace matematiky, fyziky a estetiky

Základy 2D/3D grafiky stojí na pevném matematickém a fyzikálním základě – od teorie vzorkování přes lineární algebru až po optiku. V kombinaci s uměleckými principy kompozice a barev umožňují navrhovat obrazy a scény, které jsou vizuálně přesvědčivé a zároveň výpočetně efektivní. Porozumění pipeline, správě barev, materiálovým modelům a optimalizacím je klíčem k profesionální praxi v digitálním filmu, hrách, vizualizacích i na webu.