Definice a rozsah počítačové grafiky
Počítačová grafika (CG) je obor informatiky a inženýrství zaměřený na tvorbu, zpracování, ukládání a zobrazování obrazových dat s využitím výpočetní techniky. Zahrnuje 2D/3D reprezentace scén, rendering (zobrazování), interaktivní vizualizaci, zpracování obrazu, rozhraní člověk–počítač, multimédia i vědeckou vizualizaci. Praktické aplikace zasahují 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 mřížka pixelů s barvou a někdy alfou. Typicky fotografie, malba, textury, screencasty. Klíčové parametry: rozlišení (px), barevná hloubka (bpp), DPI/PPI, komprese a barevný prostor.
- Vektorová grafika: obraz je definován geometrií (body, křivky, plochy) a atributy (barvy, tahy, přechody). Ideální pro loga, ikonografii, typografii, CAD výkresy. Škálovatelná bez ztráty kvality.
- Hybridní přístup: moderní pipeline kombinuje vektory (UI, SVG) s rastrem (textury, fotografie); v 3D je geometrie vektorizovaná 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 (film).
- Správa barev (CMS): ICC profily zařízení, kalibrace a profilace monitorů, 10/12bit workflow, LUT tabulky, převody rendering intent (perceptuální, relativní kolorimetrický).
- HDR a tone mapping: PQ/HLG křivky, scéna vs. zobrazení, lokální tone mapping a dithering pro potlačení pruhování.
Formáty souborů a komprese
- Bezeztrátové: PNG (DEFLATE, alfa), WebP-Lossless, AVIF-Lossless, TIFF (IFD, vrstvy), BMP (historické), SVG (vektor + CSS, skripty).
- Ztrátové: JPEG (DCT), JPEG XL (moderna, bezeztrátový i ztrátový režim), WebP/AVIF (blokové transformace, vysoká účinnost), HEIF/HEIC (HEVC intra).
- 3D a assety: glTF/GLB (web/RT), FBX (DCC výměna), USD/USDZ (scény, varianty), OBJ (mesh), EXR (HDR, multipásma), DDS/KTX (komprimované textury).
- Texturová komprese: BC/ASTC/ETC – blokové formáty pro GPU, fixní průchodnost a nižší 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: CAD/CAM přesné modely, následná tesselace do trianglů pro rendering.
- Implicitní plochy a SDF: pole vzdáleností pro rendering (ray marching), boolean operace, kompaktní reprezentace tvarů.
- Voxelové struktury: volumetrická data, lékařské snímky (DICOM), open-world destrukce, hashované mřížky.
Grafická pipeline a architektura GPU
- Fixed-function → programovatelná pipeline: vertex → tessellation → geometry → rasterizer → fragment → výstup. Moderní API umožňují compute shadery, mesh/amp shadery a ray tracing shader sady.
- Paměťová hierarchie: VRAM (GDDR/HBM), cache L2, LDS/Shared memory, registr soubory; minimalizace přenosů CPU↔GPU a optimalizace přístupu (coalescing, tiling).
- Paralelismus: tisíce vláken, SIMT/SIMD, warp/wavefronty; důraz na occupancy, latency hiding, minimalizaci divergence.
API a ekosystém: OpenGL, Direct3D, Vulkan, Metal, WebGPU
- OpenGL: tradiční, okamžitý i retained režim, široká kompatibilita; vhodný pro naučné projekty a legacy.
- Direct3D 11/12: Windows/Xbox; D3D12 s nízkoúrovňovou správou front, descriptor heapů a explicitní synchronizací.
- Vulkan: multiplatformní, nízkoúrovňový, explicitní řízení zdrojů, vhodný pro engine-level optimalizace a vícevláknové command recordování.
- Metal: ekosystém Apple, prediktelné ovladače, tile-based rendering.
- WebGPU/WebGL: grafika v prohlížeči, sandbox, bezpečnost a přenositelnost; WebGPU přináší moderní shader model (WGSL) a compute.
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 shader compile-time optimalizace.
- Materiálové systémy: uzlové grafy (node-based), PBR parametry (albedo, metalness, roughness, normal, AO, emission), clearcoat, subsurface, anisotropie.
Rastrování vs. ray tracing
- Rastrování: projekce trojúhelníků do obrazové roviny, Z-buffer, rychlé pro real-time. Stínování skrze shadow maps, SSR, screen-space efekty.
- Ray tracing: sledování paprsků, akcelerační struktury BVH/SAH, globální iluminace, přesné odrazy a lom; v real-time často hybridní kombinace s rasterem (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 vysokou kvalitu 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 geometristika (Smith).
- IBL a Light Probes: předvypočítané environment mapy (cubemap), prefiltering pro různé drsnosti, irradiance SH.
- Stíny: PCF/PCSS, cascaded shadow maps, VSM/EVSM, moment shadow maps.
Sampling, aliasing a filtrace
- Nyquistův limit: nedostatečné vzorkování → aliasing; řešení: supersampling, multisampling (MSAA), TAA, analytické filtry (Mitchell, Lanczos).
- Texturování: mipmapping, anizotropní filtrace, normal/parallax/relief mapping, trimování UV švů a texel density.
- Rekonstrukce: temporální akumulace, jitter kamery, motion vectors, adaptivní sampling.
Zpracování obrazu (image processing) a počítačové vidění
- Operace v prostoru a frekvenci: konvoluce, Gauss/DoG, Sobel/Canny, FFT, dekonvoluce a deblurring.
- HDR pipeline: exposure, white balance, bloom, color grading, filmic křivky, dithering a grain.
- Segmentace a detekce: prahování, morfologie, Houghova transformace; v ML éře 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é UI, kerning a ligatury.
- Kontrast a přístupnost: WCAG kontrastní poměry, barvoslepé palety (Deuteranopie/Protanopie), velikost a čitelnost na různých DPI.
- Vektor na webu: SVG s CSS animacemi, interaktivita skrze DOM a ARIA role.
Webové technologie: Canvas, WebGL a WebGPU
- Canvas 2D: okamžité vykreslování pro grafy, hry, editorové nástroje; důraz na batching a redukci přepisů.
- WebGL: GPU akcelerace ve webu, shadery v GLSL ES; pozor na bezpečnost (origin policy, zdrojové mapy textur).
- WebGPU: moderní backend s explicitní správou a compute; vhodný pro vizualizace velkých dat a ML inference.
AR/VR a prostorová zobrazení
- Stereo rendering: dvě projekce, reprojekce a warping pro nízkou latenci, foveated rendering s eye-trackingem.
- Tracking a SLAM: kombinace IMU a kamer, reprojekční chyba, mapování prostředí, occlusion masky.
- UX specifika: komfort (IPD, framerate >= 90 Hz), motion sickness, interakční metafory (graby, raycast).
ML v počítačové grafice
- Neural rendering: NeRF, 3DGS (gaussian splatting), SDF-ML; akcelerace RT 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, style transfer; governance, licencování a watermarking.
Optimalizace výkonu a kvality
- CPU/GPU profilace: frame capture, GPU timing, pipeline bubbles, bound analýza (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, variability shaderů (per-tier kvalita).
Produkční workflow, DCC a asset pipeline
- DCC nástroje: Blender/Maya/3ds Max, Substance (Painter/Designer), Houdini (procedurální), ZBrush (sochařina), Marvelous Designer (oděvy).
- Pipeline: správa verzí (Perforce/Git LFS), pojmenování, metriku jednotek, LOD generace, bake map (normal, AO, curvature), validace UV.
- Scénové formáty: USD pro sdílení mezi odděleními, varianty a vrstvení; glTF pro distribuci do webu a RT engine.
- QA a review: vizuální testy, automatické porovnání snímků (PSNR/SSIM), perceptuální schvalování.
Tisk, publikace a zařízení
- Odstupňování pro tisk: CMYK separace, přetisky (overprint), trapping, RIP workflow, správa rastru (AM/FM), měření denzitometrem.
- Displeje: gamut (sRGB/P3), 10bit deep color, uniformita podsvitu, HDR špičky; kalibrace sondou a validace metou ΔE.
- Mobilní zařízení: různé DPI, notch/zaoblení, energetická efektivita (OLED vs. LCD), adaptivní snímkování.
Bezpečnost, licence a etika
- Licencování assetů: autorská práva, model release, textura z fotobank vs. vlastní scan; open-source knihovny a jejich licence.
- Integrita a watermarking: krypto-značky, steganografie, metadata (XMP), provenance v produkčních řetězcích.
- Etika ML 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, dvojité převody).
- Nesprávné škálování a resampling (nearest pro fotografie, 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 → chybné světlo/fyzika v engine.
- Neoptimalizovaná geometrie (nepotřebné vertiksy, neuzavřené normal map baky, špatná topologie).
Kontrolní seznam pro projekty
- Definovaný barevný prostor a 10/12bit workflow tam, kde je to potřeba.
- Konzistentní asset pipeline (názvosloví, LOD, UV, texel density, komprese textur).
- Volba API a cílových platforem (Vulkan/D3D/Metal/WebGPU) + profilace od prvního prototypu.
- PBR materiály s kalibrovanými texturami a správnými jednotkami.
- Hybridní rendering (RT tam, kde přináší hodnotu) + robustní denoising a TAA.
- Automatizované testy kvality (vizuální dify, metriky) a CI export svařených assetů.
- Správa licencí a provenance grafických podkladů.
Závěr
Počítačová grafika je průsečíkem matematiky, fyziky, softwarového inženýrství a designu. Úspěch v praxi závisí na dobře navržené pipeline, disciplíně v barevné správě, volbě vhodných algoritmů a rozumných kompromisů mezi kvalitou a výkonem. V době širokého HDR, ray tracingu a ML-akcelerovaných technik roste význam standardizovaných formátů (USD, glTF), moderních API (Vulkan, WebGPU) a měřitelných procesů – od assetů až po poslední pixel na displeji.