Texturování, stínění a fyzikální efekty jako základ realismu v počítačové grafice

Jak spolu souvisejí texturování, stínování a fyzikální efekty

Texturování, stínování a fyzikálně založené efekty tvoří triádu, která určuje vizuální věrohodnost počítačové grafiky. Textury přinášejí detail a variabilitu materiálu, stínování popisuje lokální interakci světla s povrchem a fyzikální efekty (PBR, globální iluminace, volumetrika) dodávají konzistentní chování světla v celém prostředí. Moderní rendering stojí na fyzikálně založeném vykreslování (PBR), které respektuje zachování energie, mikrofacetové modely rozptylu a realistické optické jevy, aby byla scéna věrohodná v širokém spektru světelných podmínek.

Texturování: zdroje detailu a variace povrchu

Textura je 2D obraz, který se mapuje na 3D geometrii prostřednictvím souřadnic UV. Klíčové je rozhodnutí, jaké mapy použít a v jakém barevném prostoru (sRGB vs. lineární):

  • Base Color / Albedo: difuzní barva bez stínů a světel; sRGB.
  • Metallic: binární až spojitá mapa (0 = dielektrikum, 1 = kov); lineární.
  • Roughness / Glossiness: popisuje mikrorauhost povrchu (drsnost ↔ šířka spekulární lóby); lineární.
  • Normal Map (Tangent Space): jemný reliéf bez reálné geometrie pro lámání normál; lineární.
  • Height / Parallax / Displacement: výšková informace; parallax mapping pro rasterizaci, skutečný displacement pro ray tracing či tesselaci.
  • Ambient Occlusion: lokální stínění kavit; lineární a kombinované až ve složených texturách (např. ORM: Occlusion-Roughness-Metallic).
  • Emission: vlastní svit povrchu; sRGB pro barvu, intenzita lineárně.
  • Opacity / Translucency: alfakanál a dílčí průsvitnost; lineární.

UV mapování, projekce a texel density

  • UV rozvin: minimalizujte švy a zkreslení pro klíčové směry detailu. Používejte ostrovy s konzistentní texel density (px na metr), aby se materiál nezvětšoval ani nezmenšoval mezi díly.
  • Triplanární projekce: vhodná pro terény nebo objekty bez kvalitních UV; omezuje švy, ale je náročnější na sampling.
  • Atlasování a tiling: atlas s více materiály šetří draw calls; tiling s maskami bojuje proti opakování vzoru (detail textury, makro-variace, noise masky).

Filtrace textur: aliasing, mipmapy a anizotropie

  • Mipmapping: předfiltrované úrovně snižují aliasing a šum v dálce; volba trilinear vs. anisotropic filtrace závisí na úhlu pohledu.
  • Anizotropní filtrace: zachovává detail při nízkých úhlech dopadu pohledu na plochy (silnice, podlahy).
  • Prefiltrace normal map: mikronormály je nutné korektně filtrovat (např. Toksvig nebo LEAN mapy) pro zachování energie při downsamplingu.

Stínování: od empirických modelů k mikrofacetové fyzice

Stínování definuje, jak povrch odráží a pohlcuje světlo. Historicky:

  • Lambert – čistě difuzní, rychlý, ale bez spekulárních odlesků.
  • Phong / Blinn-Phong – empirické spekulární zvýraznění, snadné, avšak nefyzikální (porušuje zachování energie).
  • Cook–Torrance (mikrofacetový BRDF) – základ PBR: D (distribuce mikrofacet), F (Fresnel), G (geometrická maska-stínění).

Standardem je GGX/Trowbridge–Reitz pro D (přirozenější „tlusté“ ocasy odlesků), Smith pro G a Schlickův aproximovaný Fresnel F = F0 + (1 − F0)(1 − V·H)^5. F0 je základní odrazivost v normálním směru: přibližně 0,02–0,08 pro dielektrika (závisí na indexu lomu) a barevná pro kovy.

PBR workflow: Metallic–Roughness vs. Specular–Glossiness

  • Metallic–Roughness: jeden albedo (bez spekulární barvy pro dielektrika), metallic určuje, zda je energie v difuzi nebo spekuláru; roughness tvaruje rozptyl.
  • Specular–Glossiness: explicitní spekulární barva (u dielektrik typicky šedá kolem 0,04), gloss jako inverze roughness. Výhodou je explicitní kontrola F0, nevýhodou složitější tvorba materiálů.

Klíčové je zachování energie: součet difuzní a spekulární odražené energie nesmí překročit dopadající. Proto se difuze škáluje podle F a kombinace materiálů (metalický materiál obvykle nemá difuzní složku).

Osvětlení a IBL: prostředí je klíčové

  • Image-Based Lighting (IBL): využití HDR environment mapy pro difuzní (irradiance) a spekulární (prefiltered radiance) složku; BRDF LUT pro integraci Fresnel a faktorů G / V.
  • Prefiltrace: difuze (silně rozmazané prostředí konvolucí kosinem) a spekulár (řada roughness-dependent map, často mipmap chain s GGX preintegrací).
  • Expozice a tonemapping: korektní ACES či filmové mapování do LDR, aby si materiály uchovaly relativní vztahy jasů.

Stíny: přesnost, stabilita a měkké okraje

  • Shadow mapping: standard rasterizace; problémy zahrnují acne, peter-panning a aliasing. Řešení: bias, PCF/PCSS, variance/EVSM, cascaded shadow maps (CSM) pro rozsáhlé scény.
  • Ray-traced stíny: přesné polotóny (penumbra) podle velikosti světla; vyžaduje denoising (SVGF, OIDN).
  • Contact shadows: doplněk v blízkosti kontaktů (SSCS, GTAO) pro eliminaci levitujících objektů.

Geometrický detail: normal, bump, parallax a displacement

  • Bump mapping: úprava osvětlení podle výšky bez změny normál; levné, ale omezené.
  • Normal mapping: přímé dodání perturbovaných normál v tangent space; de facto standard pro středně detailní detaily.
  • Parallax (occlusion) mapping: simulace vlastní paralaxy a samo-stínění textury; zlepšuje reliéf, ale může způsobovat artefakty při velkých úhlech pohledu.
  • Displacement (tesselace / ray tracing): skutečný posun vrcholů nebo mikropolygonů; nejvěrnější, ale také nejnáročnější metoda.

Fyzikální efekty materiálů: SSS, transmisivita, anizotropie

  • Subsurface Scattering (SSS): difuzní podpovrchový rozptyl (kůže, mramor) – BSSRDF (např. d’Eon, Jensen). V rasterizaci často „pre-integrated SSS“ přes profilovou konvoluci.
  • Transmisivita a průsvitnost: tenké materiály (listy, papír) – „thin surface“ model vs. silné sklo s lomem (IOR), disperzí a dvojitými Fresnelovými efekty.
  • Anizotropní BRDF: kartáčovaný kov, vlasy; zahrnuje tangenciální směr a rozdílné roughness komponenty (roughnessU/V).

Volumetrická média a atmosférické efekty

  • Participující média: mlha, kouř, opar; jednorázové albedo, fázová funkce (Henyey–Greenstein), vícenásobný rozptyl (aproximace pomocí volumetric integration + reprojekce).
  • God rays, aerial perspective: světelné paprsky a zeslabení kontrastu s rostoucí vzdáleností (Rayleigh/Mie aproximace).

Globální iluminace: GI pro real-time a offline

  • Screen-Space GI (SSGI): rychlé, ale omezené na viditelnou geometrii; vhodné pro doplnění scén.
  • Voxelizace / SDF / probe grids: irradiance probes, DDGI s reprojekcí; vhodné pro dynamické scény.
  • Lightmapy a hybridní přístupy: předpočtená difuze, dynamická spekulární složka přes IBL; pro statickou architekturu velmi efektivní.
  • Path tracing: referenční metoda; v real-time náročná na temporalitu, adaptivní sampling a denoising.

Temporální techniky a odšumování

  • TAA (Temporal Anti-Aliasing): akumuluje více subpixelových vzorků; pozor na ghosting a ztrátu detailů → používání reactive masks a ošetření ostrosti.
  • Odšumování RT efektů: stíny, GI, odrazy – využití temporální akumulace, motion vectors a souboru filtrů (SVGF, spatio-temporal variance).

Výkon a architektura: forward, deferred, tiled/clustered

  • Forward+ / Clustered Forward: vhodné pro průhlednosti, méně G-Bufferu, světla se cílí na shluky pixelů.
  • Deferred: efektivní při větším počtu světel a náročných materiálech; nevhodné pro transparentní materiály a MSAA.
  • Hybridní přístup: neprůhledné objekty v deferred, průhledné a speciální efekty ve forward; tile/cluster culling šetří fill-rate.

Kalibrace barev a tonemapping

  • Lineární workflow: textury v sRGB pouze tam, kde zobrazují barvu; výpočty vždy v lineárním prostoru.
  • Expozice: automatická nebo ruční; kalibrace middle gray dle záměru scény.
  • Tonemapper: ACES nebo filmové mapování pro přirozený roll-off světel; minimalizace clippingu a saturace.

Ray tracing v praxi: odlesky, stíny a GI

  • Specular/reflection RT: přesné odrazy pro kovy a hladké povrchy, fallback SSR pro detaily na obrazovce.
  • RT stíny a kontakty: realistická penumbra podle velikosti světel; kombinace s raster PCF pro levné střední vzdálenosti.
  • RT GI / Path tracing: fyzikálně věrné nepřímé osvětlení; vyžaduje agresivní temporalitu a denoising.

Best practices pro tvorbu materiálů

  • Fyzikální rozsahy: držte se tabulkových hodnot albeda a F0; vyvarujte se energy gain (zisk energie).
  • Metalness: nepoužívejte mezihodnoty, které nemají fyzikální význam; dielektrické materiály nemají barevný spekulár.
  • Linearita roughness: roughness není gloss invertovaná gama; editujte v lineárním prostoru, nikoliv v sRGB.
  • Texel density a tiling: konzistence napříč scénou; rozbíjejte opakování pomocí makro-noise a decal prvků.

Časté chyby a jejich diagnostika

  • „Plastový“ vzhled: příliš nízké F0 nebo nevhodná roughness; zkontrolujte IBL a tonemapping.
  • Přepal spekuláru: albedo s nasnímanými světly a stíny (nečisté albedo) → potřeba přepracovat PBR-kompatibilní texturu.
  • Shadow acne / peter-panning: nesprávný bias a rozlišení stínových map; použijte slope-scaled bias, CSM a PCF.
  • Artefakty normal mapy: nejednotný tangent space mezi DCC a enginem; přegenerujte nebo sjednoťte tangent basis.

Pipeline a validace: od DCC po engine

  • Color management: sRGB tagování textur, lineární export HDR; validace v enginu pomocí LUT.
  • Unit scale: konzistentní metrické jednotky → správné chování světelného poklesu (inverse-square) a SSS/volumetrií.
  • Profilace: zachycení práce GPU, rozklad času na shadow pass, G-Buffer, lighting, post-processing; cílená optimalizace.

Post-processing jako součást vnímání materiálu

  • Bloom a glare: zlepšují čitelnost spekuláru, nesmějí však zakrýt clipping.
  • Vignette a chromatická aberace: používejte s mírou; nejsou náhradou za správné PBR nastavení.
  • Motion blur a DOF: fyzikální efekty kamery podporují měřítko a realismus (s ohledem na výkon).

Kontrolní seznam pro realistickou scénu

  1. Materiály v PBR rozsazích (albedo, F0, roughness) s energetickou