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 mapovaný na 3D geometrii prostřednictvím souřadnic UV. Zásadní 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, intenzitu 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ího 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ě redukují aliasing a šum v dálce; volba trilineární vs. anizotropní filtrace dle ú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í, levný model, ale bez spekulárních odlesků.
- Phong / Blinn-Phong – empirické spekulární zvýraznění, jednoduché, 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 (dána indexem lomu) a barevná pro kovy.
PBR workflow: Metallic–Roughness vs. Specular–Glossiness
- Metallic–Roughness: jediný albedo (bez spekulární barvy pro dielektrika), metallic určuje, zda je energie přenášena spíše v difuzi nebo ve spekuláru; roughness formuje rozptyl.
- Specular–Glossiness: explicitní spekulární barva (u dielektrik zpravidla šedá kolem 0,04), gloss jako inverze roughness. Výhodou je explicitní kontrola F0, nevýhodou složitější tvorba materiálů.
Klíčem je zachování energie: součet difuzní a spekulární odražené energie nesmí převýšit dopadající světelnou energii. Difuze se proto škáluje podle F a materiálové kombinace (metalický materiál obvykle nemá žádnou difuzi).
Osvětlení a IBL: prostředí je král
- Image-Based Lighting (IBL): využití HDR environment map pro difuzní (irradiance) a spekulární (prefiltered radiance) složku; BRDF LUT pro integraci Fresnelových a G/V faktorů.
- Prefiltrace: difuzní složka (silně rozmazané prostředí konvolucí kosinem) a spekulární složka (řada roughness-dependent map, často mip chain s GGX preintegrací).
- Expozice a tonemapping: korektní ACES či filmové mapování do LDR pro zachování relativních vztahů jasů materiálů.
Stíny: přesnost, stabilita a měkké okraje
- Shadow mapping: standard rasterizace; problémy zahrnují acne, peter-panning, 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) dle velikosti světla; vyžaduje odšumování (SVGF, OIDN).
- Contact shadows: doplněk pro blízká kontaktní místa (SSCS, GTAO), aby se zabránilo vizuálním „levitujícím“ objektům.
Geometrický detail: normal, bump, parallax a displacement
- Bump mapping: ovlivnění osvětlení podle výšky bez změny normál; levné, ale omezené na detaily.
- Normal mapping: přímé dodání perturbovaných normál v tangent space; de facto standard pro střední úroveň detailu.
- Parallax (occlusion) mapping: simulace skutečné paralaxy a samo-stínění textury; zlepšuje reliéf, ale může vytvářet artefakty při velkých úhlech pohledu.
- Displacement (tesselace / ray tracing): skutečný posun vrcholů nebo mikropolygonů; nejvěrnější, avšak nejnáročnější na výkon.
Fyzikální efekty materiálů: SSS, transmisivita, anizotropie
- Subsurface Scattering (SSS): difuzní podpovrchový rozptyl (kůže, mramor) – BSSRDF (např. modely d’Eon, Jensen). V rasterizaci často „pre-integrated SSS“ přes profilovou konvoluci.
- Transmisivita a průsvitnost: tenké materiály (listy, papír) – model „thin surface“ vs. husté sklo s lomením (IOR), disperzí a dvojitými Fresnelovými efekty.
- Anizotropní BRDF: kartáčovaný kov, vlasy; zahrnuje tangenciální směr a rozdílné drsnosti (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 s 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é řešení, omezující se na viditelnou geometrii; vhodné pro doplnění scénických efektů.
- Voxelizace / SDF / probe grids: irradiance probes, DDGI s reprojekcí; vhodné pro dynamické scény.
- Lightmaps a hybridy: předpočtená difuze, dynamická spekulární složka přes IBL; vysoce efektivní zejména pro statickou architekturu.
- Path tracing: referenční řešení; v real-time náročné na temporalitu, adaptivní sampling a denoising.
Temporální techniky a odšumování
- TAA (Temporal Anti-Aliasing): akumulace více subpixelových vzorků; pozor na ghosting a ztrátu detailů → používání reactive masks a sharpen filtrů.
- Denoising RT efektů: odšumování stínů, GI, odrazů – využití temporální akumulace, motion vectors a kombinace filtrů (SVGF, spatio-temporal variance).
Výkon a architektura: forward, deferred, tiled/clustered
- Forward+ / Clustered Forward: vhodné pro průhledné objekty, méně náročné G-Bufferu, světla se aplikují na shluky pixelů.
- Deferred: efektivní při velkém počtu světel a náročných materiálech; nevýhodné 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 reprezentují barvu; výpočty vždy v lineárním prostoru.
- Expozice: automatická či manuální; kalibrace middle gray podle uměleckého záměru scény.
- Tonemapper: ACES/Filmic pro přirozený roll-off světel; minimalizace clippingu saturací.
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 dle velikosti světel; kombinace s rastrovými PCF pro levnou střední vzdálenost.
- RT GI / Path tracing: fyzikálně věrné nepřímé osvětlení; vyžaduje agresivní temporalitu a odšumování.
Best practices pro tvorbu materiálů
- Fyzikální rozsahy: dodržujte tabulkové hodnoty albeda a F0; vyvarujte se energy gain.
- Metalness: nepoužívejte přechodové hodnoty, kde nedávají smysl; dielektrika nemají barevný spekulár.
- Roughness linearita: roughness není invertovaná gloss gama; editujte v lineárním prostoru, nikoli v sRGB.
- Texel density a tiling: zachovejte konzistenci napříč scénou; rozbíjejte opakování pomocí makro noise a dekálových 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 obsahuje nasnímané světla a stíny (nečisté albedo) → reautorizujte texturu do PBR formátu.
- Shadow acne / peter-panning: nesprávný bias a rozlišení stínových map; použijte slope-scaled bias, CSM a PCF.
- Normal map artefakty: různé 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í měřítko v metrech → správný světelný pád (inverse-square) a chování SSS/volumetrií.
- Profilace: GPU capture, 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árních odlesků, ale nesmí maskovat clipping.
- Vignette a chromatic aberration: používejte střídmě; nepodporují správné PBR principy.
- Motion blur a DOF: fyzikální efekty kamery podporují měřítko a realismus (s přihlédnutím k výkonu).


























