← Zpět na přehledPGA / 02Programování grafických aplikací

BI-PGA

Pokročilé mapování a PBR

1 / 19

Pokročilé mapování a PBR

  • Vzhled detailů povrchu ovlivňuje geometrie, stínovací normála a směrový odraz světla.
  • Témata: vnímání tvaru, height a normal mapy, mikrofacetový model, tečný prostor a parallax mapping.

2 / 19

Geometrie a vnímání detailu

  • Hrubý tvar a siluetu určuje geometrie. Jemný vzhled povrchu výrazně ovlivňuje normála použitá při osvětlení.
  • Bump mapping odvozuje změnu normály z výškové mapy. Normal mapping načítá normálu přímo.
  • Parallax mapping posouvá UV. Displacement posouvá skutečný povrch. Tyto zásahy mají odlišné náklady a limity.
Bump mapping mění osvětlení detailů, ale ponechává rovinný obrys. Cycles, 1920 × 1080.
Bump mapping mění osvětlení detailů, ale ponechává rovinný obrys. Cycles, 1920 × 1080.

3 / 19

Principy fyzikálně založeného renderingu

  • PBR spojuje lineární výpočty, přibližné zachování energie a úhlovou závislost odrazu.
  • Stejný materiál má mít konzistentní význam při změně osvětlení. PBR lze použít v rasterizaci i v path tracingu.
  • Fotorealismus navíc vyžaduje odpovídající geometrii, světlo, expozici a správnou interpretaci textur.

4 / 19

Dielektrikum a kov

  • Dielektrika jako plast nebo keramika kombinují difuzní barvu s přibližně bezbarvým povrchovým odrazem.
  • Kov má obvykle zanedbatelnou difuzní složku a barevný zrcadlový odraz.
  • Nátěr a oxidace tvoří další materiálové vrstvy. Ne každé tmavé či lesklé místo představuje čistý kov.

5 / 19

Metallic–roughness workflow

  • Base color představuje difuzní albedo dielektrika nebo barvu odrazu kovu. Metallic volí mezi těmito chováními.
  • Roughness určuje šířku rozdělení mikrofacet. Normal určuje lokální orientaci stínovací normály.
  • AO přibližuje lokální zákryt, ale nenahrazuje obecné globální osvětlení. Emissive popisuje vlastní vyzařování.

6 / 19

Mikrofacety a Cook–Torrance

  • Makroskopický povrch modelujeme jako soubor malých zrcadlových plošek.
  • D popisuje rozdělení orientací, F Fresnelův podíl a G geometrickou viditelnost mikrofacet.
  • Poloviční vektor h je normalizovaný součet směrů ke světlu a pozorovateli. Výraz níže popisuje zrcadlovou BRDF.
fs(ωi,ωo)=D(h) F(ωi,h) G(ωi,ωo)4∣n⋅ωi∣ ∣n⋅ωo∣f_s(\boldsymbol\omega_i,\boldsymbol\omega_o)=\frac{D(\mathbf h)\,F(\boldsymbol\omega_i,\mathbf h)\,G(\boldsymbol\omega_i,\boldsymbol\omega_o)}{4\lvert\mathbf n\cdot\boldsymbol\omega_i\rvert\,\lvert\mathbf n\cdot\boldsymbol\omega_o\rvert}

7 / 19

Distribuce D a roughness

  • Distribuce určuje, kolik mikrofacet má danou orientaci. Rozdělení GGX má dlouhé chvosty.
  • Změna roughness mění šířku i vrchol odlesku. Není to pouze násobek jeho intenzity.
  • Mapování parametru roughness na α se mezi implementacemi liší. Je třeba znát konvenci konkrétního shaderu.

8 / 19

Fresnelův člen F

  • F0F_0 je odrazivost při kolmém dopadu. U dielektrik souvisí s indexem lomu, u kovů má barevný charakter.
  • Při tečném pohledu roste odrazivost. Schlickův vztah je praktická aproximace, nikoli obecná náhrada všech Fresnelových rovnic.
  • Odraz a průchod energie nelze nastavovat zcela nezávisle.
F(θ)=F0+(1−F0)(1−cos⁡θ)5F(\theta)=F_0+(1-F_0)(1-\cos\theta)^5

9 / 19

Geometrický člen G a kombinace složek

  • Masking popisuje zákryt mikrofacety směrem ke kameře. Shadowing popisuje zákryt směrem ke světlu.
  • Smithovy modely skládají směrové viditelnosti. Volba G musí odpovídat předpokladům distribuce mikrofacet.
  • Směs difuzního a zrcadlového příspěvku vyžaduje energetické vážení. Výraz (1−metallic) f_d + f_s je schematický a sám nezaručuje zachování energie.

10 / 19

Barevné a datové mapy

  • Base color obvykle načítáme jako sRGB a převádíme do lineárního prostoru. Emissive závisí na způsobu uložení barevných hodnot.
  • Normal, roughness, metallic, AO a height načítáme jako data bez sRGB dekódování.
  • Formát souboru sám neurčuje význam kanálu. Rozhoduje sémantika mapy a nastavení importu.

11 / 19

Normal, bump, parallax a displacement

  • Normal a bump mění stínovací normálu, ale neposouvají obrys objektu.
  • Parallax aproximuje hloubku posunem texturovacích souřadnic. Displacement mění skutečný povrch.
  • Rasterizace a path tracing mohou sdílet BRDF. Liší se způsob získání příchozího světla a viditelnosti.

12 / 19

Komplexní a časově proměnné textury

  • Prach, námraza, plíseň a lišejníky mohou měnit barvu, drsnost i geometrii povrchu.
  • Pro syntézu textur lze využít Markovské modely, 3DCAR a fraktální konstrukce.
  • Je vhodné rozlišovat fotografickou referenci a syntetický výsledek. Stejné pravidlo platí pro časový vývoj materiálu.
Ilustrace: Prach, námraza a plíseň
Prach, námraza a plíseň · Zdroj ilustrace

13 / 19

Bump mapping z gradientu výšky

  • Height mapa ukládá skalární výšku. Z rozdílů výšek v okolí odhadujeme derivace v texturovacích směrech.
  • Derivace upraví tečné vektory a výslednou normálu pro osvětlení.
  • Síla efektu závisí na měřítku výšky i UV. Geometrie a silueta zůstávají stejné.
Ilustrace: Konstrukce normálové mapy z výškové mapy
Konstrukce normálové mapy z výškové mapy · Zdroj ilustrace

14 / 19

Tečný prostor a transformace normály

  • Bázi TBN tvoří tečna T, bitangenta B a normála N. Její orientace musí odpovídat UV parametrizaci.
  • RGB kód normály obvykle dekódujeme jako 2c−1 a znovu normalizujeme.
  • Normálu a světelné vektory musíme vyhodnocovat ve stejném prostoru. Buď převedeme normálu pomocí TBN, nebo ostatní směry do tečného prostoru.
nt=normalize⁡(2c−1),n=normalize⁡(TBN nt).\begin{aligned}\mathbf n_t&=\operatorname{normalize}(2\mathbf c-\mathbf1),\\\mathbf n&=\operatorname{normalize}(\mathrm{TBN}\,\mathbf n_t).\end{aligned}
Ilustrace: Tečný prostor
Tečný prostor · Zdroj ilustrace

15 / 19

Princip paralaxy

  • Při změně pohledu se zdánlivě posouvají detaily v různých hloubkách.
  • Parallax mapping napodobuje tento posun úpravou UV podle výškové mapy a směru pohledu.
  • Vstupem zůstává původní polygon. Výsledek proto omezuje jeho silueta a dostupná data o výšce.
Ilustrace: parallax mapping
parallax mapping · Zdroj ilustrace

16 / 19

Jednokrokový posun UV

  • V tečném prostoru získáme směr k pozorovateli a výšku z původního UV.
  • Z nich vypočítáme offset textury. Znaménko a měřítko závisejí na konvenci výšky a směru pohledu.
  • Jedna hodnota výšky obecně nestačí k nalezení skutečného průsečíku s nerovným profilem.
Ilustrace: Parallax mapping
Parallax mapping · Zdroj ilustrace

17 / 19

Chyba offsetu a limitování

  • Výška v původním UV se může lišit od výšky v nalezeném bodě. Posun je proto jen aproximací.
  • Při tečném pohledu se chyba zvětšuje. Offset limiting omezuje nepřiměřené posuny, ale ztrácí část perspektivního efektu.
  • Parallax occlusion mapping používá více kroků po výškovém profilu. Vyžaduje více vzorků a vlastní řešení artefaktů.
Ilustrace: Parallax mapping
Parallax mapping · Zdroj ilustrace

18 / 19

Obrazová srovnání

  • Srovnání ukazují přínos normálové a výškové mapy na stejném povrchu.
  • Pro názorný test je třeba stejná kamera, světlo, expozice i měřítko materiálu. Změna těchto parametrů zakryje rozdíl metod.
  • Pohled pod malým úhlem a kontrola siluety ukazují limity parallax mappingu.
Skutečně posunutá geometrie z analytického profilu, 1920 × 1080, Cycles.
Skutečně posunutá geometrie z analytického profilu, 1920 × 1080, Cycles.

19 / 19

Shrnutí, otázky a zdroje

  • Která mapa určuje barvu, která normálu a která geometrii? Které mapy vyžadují sRGB dekódování?
  • Proč kov nemá běžnou difuzní složku? Co představují D, F a G?
  • Kdy selže parallax mapping a proč nelze obecně vynechat normalizaci normály?
  • Literatura: Felkel, Lengyel, Welsh (2004), Tatarchuk (2005), Burley (2012), Walter a kol. (2007) a PBRT 4. vydání.

Literatura

PBRT, 4. vydání · Radiometrie · Blender: normal map a Non-Color.

Podklady k příkladům

Zdrojový Blender skript · Světelná scéna .blend · Displacement scéna .blend.

Blender 4.5: světelné cesty · PBRT: Monte Carlo a chyba odhadu · Blender: normal map a barevná interpretace.

Obsah

  1. Pokročilé mapování a PBR
  2. Geometrie a vnímání detailu
  3. Principy fyzikálně založeného renderingu
  4. Dielektrikum a kov
  5. Metallic–roughness workflow
  6. Mikrofacety a Cook–Torrance
  7. Distribuce D a roughness
  8. Fresnelův člen F
  9. Geometrický člen G a kombinace složek
  10. Barevné a datové mapy
  11. Normal, bump, parallax a displacement
  12. Komplexní a časově proměnné textury
  13. Bump mapping z gradientu výšky
  14. Tečný prostor a transformace normály
  15. Princip paralaxy
  16. Jednokrokový posun UV
  17. Chyba offsetu a limitování
  18. Obrazová srovnání
  19. Shrnutí, otázky a zdroje