Počítačová grafika: definice, metody a aplikace v praxi

Definice a rozsah počítačové grafiky

Počítačová grafika (CG) je odvětví informatiky a inženýrství zaměřené na tvorbu, zpracování, ukládání a zobrazování obrazových dat za využití výpočetní techniky. Zahrnuje 2D/3D reprezentace scén, rendering (zobrazování), interaktivní vizualizaci, zpracování obrazu, uživatelská rozhraní člověk–počítač, multimédia i vědeckou vizualizaci. Praktické aplikace zahrnují herní průmysl, film, CAD/CAM, GIS, zdravotnictví, web, mobilní aplikace, simulace, AR/VR a datovou žurnalistiku.

Rastrová vs. vektorová grafika

  • Rastrová grafika: obraz je tvořen mřížkou pixelů s informací o barvě a často i o alfa kanálu. Typicky fotografie, malby, textury či screencasty. Klíčové parametry zahrnují rozlišení (v pixelech), barevnou hloubku (bpp), DPI/PPI, kompresi a barevný prostor.
  • Vektorová grafika: obraz je definován geometrickými prvky (body, křivky, plochy) a atributy (barvy, tahy, přechody). Ideální pro loga, ikonografii, typografii či CAD výkresy. Je škálovatelná bez ztráty kvality.
  • Hybridní přístup: moderní workflow kombinuje vektory (UI, SVG) s rastrovými prvky (textury, fotografie); u 3D je geometrie vektorová a výsledný framebuffer rastrový.

Barevné modely a správa barev

  • Modely: RGB (emitivní displeje), CMYK (tisk), HSL/HSV (uživatelská editace), Lab/LCH (perceptuální shody), YCbCr/YPbPr (video), XYZ (referenční).
  • Barevné prostory: sRGB (webový standard), Display P3 (širší gamut), Adobe RGB (tisk), Rec.709/Rec.2020 (video), ACES (kino).
  • Správa barev (CMS): ICC profily zařízení, kalibrace a profilace monitorů, workflow v 10/12 bitech, LUT tabulky, převody s rendering intenty (perceptuální, relativní kolorimetrický).
  • HDR a tone mapping: PQ/HLG křivky, rozlišení scéna vs. zobrazovací zařízení, lokální tone mapping a dithering pro potlačení pruhování.

Formáty souborů a komprese

  • Bezeztrátové: PNG (DEFLATE, alfa kanál), WebP-Lossless, AVIF-Lossless, TIFF (IFD, vrstvy), BMP (historické), SVG (vektory + CSS, skripty).
  • Ztrátové: JPEG (DCT), JPEG XL (moderní, bezeztrátový i ztrátový režim), WebP/AVIF (blokové transformace s vysokou účinností), HEIF/HEIC (HEVC intra frame).
  • 3D a assety: glTF/GLB (web/real-time), FBX (výměna DCC dat), USD/USDZ (scény, varianty), OBJ (mesh), EXR (HDR, vícekanálové), DDS/KTX (komprimované textury).
  • Texturová komprese: BC/ASTC/ETC – blokové formáty pro GPU, umožňují fixní průchodnost a nižší využití VRAM; volba závisí na cílové platformě.

3D reprezentace a geometrie

  • Polygony a meshe: vrcholy, normály, UV souřadnice, tangenty/bitangenty, topologie (manifold, non-manifold), LOD hierarchie.
  • NURBS a křivky: přesné CAD/CAM modely, následná tesselace do triangulovaných sítí pro rendering.
  • Implicitní plochy a SDF: vzdálenostní pole pro rendering (ray marching), booleovské operace, kompaktní reprezentace tvarů.
  • Voxelové struktury: volumetrická data, lékařské zobrazování (DICOM), destrukce v otevřených světech, hashované mřížky.

Grafická pipeline a architektura GPU

  • Fixní funkce → programovatelná pipeline: vertex → tessellation → geometry → rasterizer → fragment → výstup. Moderní API podporují compute shadery, mesh/task shadery a ray tracing shaderové sady.
  • Paměťová hierarchie: VRAM (GDDR/HBM), L2 cache, LDS/Shared memory, registre; minimalizace přenosů CPU↔GPU, optimalizace přístupu (coalescing, tiling).
  • Paralelismus: tisíce vláken, SIMT/SIMD model, warp/wavefront; důraz na obsazenost, skrývání latence, minimalizaci divergence.

API a ekosystém: OpenGL, Direct3D, Vulkan, Metal, WebGPU

  • OpenGL: tradiční, okamžitý i retained režim, široká kompatibilita; vhodný pro výukové projekty a legacy aplikace.
  • Direct3D 11/12: Windows/Xbox; D3D12 přináší nízkoúrovňovou správu front, descriptor heapů a explicitní synchronizaci.
  • Vulkan: multiplatformní, nízkoúrovňový, explicitní řízení zdrojů, vhodný pro engine-level optimalizace a vícevláknové nahrávání příkazů.
  • Metal: Apple ekosystém, předvídatelné ovladače, tile-based rendering.
  • WebGPU/WebGL: grafika v prohlížeči, sandbox, bezpečnost a přenositelnost; WebGPU nabízí moderní shader model (WGSL) a compute podporu.

Shader programování

  • Typy shaderů: vertex (transformace), tessellation (detail), geometry (generování primitiv), fragment/pixel (barvení), compute (obecné výpočty), mesh/task (novější pipeline), RT shadery (raygen/closest-hit/any-hit/miss).
  • Jazyky: GLSL, HLSL, MSL, WGSL; offline intermediate formáty (SPIR-V, DXIL) a compile-time optimalizace shaderů.
  • Materiálové systémy: uzlové grafy (node-based), PBR parametry (albedo, metalness, roughness, normal, AO, emission), clearcoat, subsurface scattering, anizotropie.

Rastrování vs. ray tracing

  • Rastrování: projekce trojúhelníků do obrazové roviny, Z-buffer, rychlé pro real-time aplikace. Stínování skrze shadow maps, SSR a screen-space efekty.
  • Ray tracing: sledování paprsků, akcelerační struktury BVH/SAH, globální osvětlení, přesné odrazy a lomy; v real-time často hybridně kombinován s rastrováním (RT stíny/odrazy + raster Z-pass).
  • Denoising a rekonstrukce: spatio-temporální filtry (TAA), NRD/Optix-like denoisery, reprojekce a upscaling (DLSS/FSR/XeSS) pro zachování vysoké kvality při nižším vzorkování.

Osvětlení a fyzikálně založené renderování (PBR)

  • BRDF/BTDF modely: Lambert, Oren–Nayar, Cook–Torrance (GGX), Fresnel (Schlick), mikrofacety, NDF a geometrie (Smith).
  • IBL a Light Probes: předpočítané environment mapy (cubemap), prefiltering pro různé drsnosti, irradiance pomocí SH.
  • Stíny: PCF/PCSS, cascaded shadow maps, VSM/EVSM, moment shadow maps.

Sampling, aliasing a filtrace

  • Nyquistův limit: nedostatečné vzorkování vede k aliasingu; řešení: supersampling, multisampling (MSAA), TAA, analytické filtry (Mitchell, Lanczos).
  • Texturování: mipmapping, anizotropní filtrace, normal/parallax/relief mapping, odstraňování UV švů a optimalizace texel density.
  • Rekonstrukce: temporální akumulace, jitter kamery, motion vektory, adaptivní sampling.

Zpracování obrazu (image processing) a počítačové vidění

  • Operace v prostorové a frekvenční oblasti: konvoluce, Gauss/DoG, Sobel/Canny, FFT, dekonvoluce a odstraňování rozmazání (deblurring).
  • HDR pipeline: expozice, vyvážení bílé, bloom, color grading, filmické křivky, dithering a přidávání zrna.
  • Segmentace a detekce: prahování, morfologie, Houghova transformace; v éře strojového učení U-Net/Mask R-CNN pro semantické vrstvy a AR kompozit.

UI/UX a typografie v počítačové grafice

  • Rasterizace písma: hinting, subpixel (RGB stripe), SDF fonty pro škálovatelná uživatelská rozhraní, kerning a ligatury.
  • Kontrast a přístupnost: WCAG kontrastní poměry, barvoslepé palety (deuteranopie, protanopie), velikost a čitelnost při různých DPI.
  • Vektor na webu: SVG s CSS animacemi, interaktivita přes DOM a ARIA role.

Webové technologie: Canvas, WebGL a WebGPU

  • Canvas 2D: okamžité vykreslování pro grafy, hry a editační nástroje; důraz na batching a minimalizaci přepisů.
  • WebGL: GPU akcelerace v prohlížeči, shadery v GLSL ES; bezpečnostní aspekty (origin policy, zdrojové mapy textur).
  • WebGPU: moderní backend s explicitní správou zdrojů a compute; vhodný pro vizualizace rozsáhlých dat a ML inference.

AR/VR a prostorová zobrazení

  • Stereo rendering: dva pohledy, reprojekce a warping pro nízkou latenci, foveated rendering s eye-trackingem.
  • Tracking a SLAM: kombinace IMU a kamer, reprojekční chyba, mapování okolí, occlusion masky.
  • UX specifika: komfort (IPD, snímková frekvence ≥ 90 Hz), nevolnost z pohybu, interakční metafory (graby, raycast).

ML v počítačové grafice

  • Neural rendering: NeRF, 3DGS (Gaussian splatting), SDF-ML; akcelerace ray tracing pipeline a rekonstrukce scén z fotografií.
  • Super-resolution a upscaling: temporální upscalery v real-time renderingu, SR pro video pipeline (VSR), perceptuální metriky (LPIPS, VMAF).
  • Generativní obsah: text-to-image, inpainting, stylový přenos; řízení, licencování a watermarking.

Optimalizace výkonu a kvality

  • CPU/GPU profilace: zachytávání snímků, GPU timing, pipeline bottlenecks, analýza omezení (CPU-bound, GPU-bound, bandwidth-bound).
  • Batching a culling: instancing, indirect draws, frustum/occlusion culling, meshlet/paketizace.
  • Paměť: aliasing alokací, persistentní mapování bufferů, komprimované textury, streaming assetů.
  • Škálování kvality: dynamické rozlišení, FSR/DLSS, variabilita shaderů (kvalita dle kategorie).

Produkční workflow, DCC a asset pipeline

  • DCC nástroje: Blender/Maya/3ds Max, Substance Painter/Designer, Houdini (procedurální), ZBrush (sochařské modelování), Marvelous Designer (modelování oděvů).
  • Pipeline: správa verzí (Perforce/Git LFS), pojmenovávání, metriky jednotek, generování LOD, bake map (normály, AO, curvature), validace UV.
  • Scénové formáty: USD pro sdílení mezi týmy, varianty a vrstvení; glTF pro distribuci na web a real-time engine.
  • QA a review: vizuální testování, automatické srovnání snímků (PSNR/SSIM), perceptuální schvalování.

Tisk, publikace a zařízení

  • Příprava pro tisk: CMYK separace, overprint, trapping, RIP workflow, správa rastru (AM/FM), měření denzitometrem.
  • Displeje: gamut (sRGB/P3), 10bit deep color, uniformita podsvícení, HDR špičky; kalibrace sondou, validace metrikou ΔE.
  • Mobilní zařízení: různé DPI, výřezy/notche, energetická efektivita (OLED vs. LCD), adaptivní snímková frekvence.

Bezpečnost, licence a etika

  • Licencování assetů: autorská práva, model release, textury z fotobank versus vlastní skeny; open-source knihovny a jejich licence.
  • Integrita a watermarking: kryptografické značky, steganografie, metadata (XMP), sledování provenance v produkčních řetězcích.
  • Etika ML generovaných obrazů: bias, deepfakes, transparentnost generativních pipeline, souhlas subjektů a datasetů.

Typické chyby a jak se jim vyhnout

  • Špatná správa barev mezi aplikacemi (nekompatibilní profily, duplicitní převody).
  • Nesprávné škálování a resampling (nearest neighbor u fotografií bez vhodného filtru a anti-aliasingu).
  • Nadměrná velikost assetů (nekomprimované textury, absence mipmap, zbytečně vysoké rozlišení).
  • Nekonzistence jednotek a měřítek v DCC nástrojích → chybné světlo a fyzikální simulace v engine.
  • Neoptimalizovaná geometrie (nepotřebné vrcholy, neuzavřené normal map bake, nekvalitní topologie).

Kontrolní seznam pro projekty

  • Definovaný barevný prostor a 10/12bit workflow tam, kde je to nezbytné.
  • Konzistentní asset pipeline (pojmenování, L