Počítačová grafika

Počítačová grafika

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.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *