napredna 3d računalniška grafika in vizualizacije · napredna 3d računalniška grafika in...
TRANSCRIPT
Napredna 3D računalniška grafika in vizualizacije
Helena Gabrijelčič Tomc(UL, NTF, Oddelek za tekstilstvo, grafiko in oblikovanje)
2. stopnja magistrskega študija GIK
Luka Varga: Atlantis Stelaris
Empirični modeli refleksije in sipanja na površinah
• difuzne površine (površina in material objekta ima popolnoma ali delno razpršen odboj svetlobe),
• zrcalno reflektivne in transmitivne površine (površina in material objekta ima popolnoma ali delno zrcalni odboj in/ali transmisijo svetlobe)
• površine specifičnih optičnih lastnosti (kovine, anizotropične površine)
Refleksijski modeli
http://trentwmdu105.blogspot.si/2014/07/week-4-textures-and-shaders.html
GENERALMATERIAL MODELS
• Lambert-ova refleksija• najenostavnejša funkcija BRDF• ni fizikalno točen• zaradi ustreznih matematičnih poenostavitev odlično opisuje v naravi prisotne difuzne
površine
Difuzni refleksijski modeli
http://www.dfisica.ubi.pt/~hgil/fotometria/HandBook/ch06.htmlhttp://artsammich.deviantart.com/art/Specular-vs-Lambert-Surfaces-201791351
GENERALMATERIAL MODELS
• za popolnoma zrcalne in transmitivne površine• pri zrcalni transmisiji teh modelov pa se uporablja Snellerjev zakon ter Fresnelova enačba
Reflektivni refleksijski modeli
http://www.pbrt.org/scenes_images/killeroo-gold.jpg Kileroo, popolnoma zrcalenhttp://www.its.bldrdoc.gov/fs-1037/dir-033/_4949.htm
GENERALMATERIAL MODELS
• za popolnoma zrcalne površine
Reflektivni refleksijski modeli, Phong
Using various values of nhttp://140.129.20.249/~jmchen/cg/docs/rendering%20pipeline/rendering/light_specular.html
https://cglearn.codelight.eu/pub/computer-graphics/shading-and-lighting
Modeli, ki računanju odboje na velikem številu površin
• difuzne in zrcalne površine so obravnavane kot skupek zelo majhnih, različno usmerjenih površin (ang. microfacet)
• modeli: Oren-Nayar, Torrence- Sparrow, Blinnov model ter model za anizotropičnepovršine
http://simonstechblog.blogspot.si/2011/12/microfacet-brdf.html http://www.slideshare.net/bemyapp/shaders-claudia-doppioslash-unity-with-the-best
Oren-Nayar
• razvit za delno difuzne površine (na katerih se dogaja delno difuzni odboj ter mestoma pod določenim kotom glede na vpadnico tudi usmerjeni odboj svetlobe)
• za reliefne, teksturirane, difuzne površine
http://www.indigorenderer.com/documentation/manual/indigo-scenes/materials/material-types/oren-nayar
Torrence- Sparrow model
• razvit za metalne površine in obravnava površino objekta kot skupino velikega števila popolnoma gladkih majhnih zrcalnih površin
• je fizikalno natančen za reflektivne površine in bazira na geometrijski optiki• računa tudi širši aspekt najsvetlejših reflektivnih mest
http://www.scratchapixel.com/lessons/3d-basic-rendering/phong-shader-BRDF
Blinn-ov model
• model s povprečenjem porazdelitve normal (vektorjev normal na površino modela) majhnih površin v obliki eksponencialnega pojemka (definira hitro spremembo normal za gladke površine ter postopno spremembo za difuzne in reliefne površine)
• uporablja vektor na pol poti med svetlobnim virom in opazovalcem
http://www.csit.parkland.edu/~dbock/Class/csc232/Lecture/Shading.html
https://cglearn.codelight.eu/pub/computer-graphics/shading-and-lighting
http://blog.turbosquid.com/2014/04/14/turbotips-v-ray-material-part-2-reflection/
Ward-ov anizotropični refleksijski modeli
http://c4d.cn/help/US/html/MMATERIAL-ID_MATERIALGROUP_REFLECTION.html
GENERALMATERIAL MODELSAnizotropične površine
• avtorja Ashikhmin in Shirley: BRDF model, ki definira odboje na anizotropičnih površinah (kovine, določene vrste tekstila, lasje)
• lastnosti refleksije se na določeni točki površine spreminjajo glede na rotacijo opazovanja okoli te točke v ravnini pravokotni na površino normal
http://adaptivesamples.com/2014/06/23/ashikhmin-shirley-distribution/
Introduction to Anisotropic Shading in BlenderAnizotropične površine (Blender)
https://www.youtube.com/watch?v=t4MTnpnahu0
Fotorealistično upodabljanje
Upodabljanje, ki bazira na fizikalnih zakonitostih
https://www.youtube.com/watch?v=_LaVvGlkBDs
• dve tehniki upodabljanja, ki slonita na različnih mehanizmih določanja vzorcev, s katerimi se ustvarjajo slikovne točke:
Tehnike upodabljanja
1. Objektno projekcijske tehnike (Object-space sampling): vzorci so računani na objektih
scene, recimo ogliščih poligonov, kontrolnih točkah površine. Gostota vzorcev je določena
in ustvarjena s primitivno subdivizijo (primitive subdivision), ki zagotovi ustrezno
pokritost slike z vzorci.
2. Slikovno vzorčne tehnike (Image-space sampling): vzorci so računani na določeni
lokaciji glede na izbrano shemo slikovno-prostorskega vzorčenja (image-space sampling
scheme). Tipično so te lokacije vidne površine točk pod vsakim centrom piksla.
Objektno projekcijske tehnike
Enostavni modeli upodabljanja običajnih knjižnic grafičnih programov stojijo na dvostopenjskih
kalkulacijah:
• ocena modela senčenja na geometrični površini kontrolnih točk (oglišča ali polinomske površinske kontrolne točke)
• druga faza je interpolacijska faza, ki zapolni sliko• ni ustrezen način za nelinearne variacije izgleda, ki so lahko prisotne na geometričnih primitivih
• ustvarjanje slike iz vzorcev objekta (Image Creation from Object Samples, point based
global illumination)
Digital Modeling Material reproduction, Dorsey
Slikovno vzorčne tehnike
• izhodišče je slikovna površina, ki mora biti generirana
• najpomembnejša operacija je določanje vrednosti slikovne točke, pri čemer se smatra, da so
vsi piksli neodvisni, torej se mora izračunati radianca, ki se zgodi skozi slikovno točko.
• večina težav seveda izhaja pri tem iz tega, da se slika generira diskretno in gre za diskretno
vzorčenje kontinuirnih informacij
Slednje žarkom (ang. ray tracing) je najbolj poznana
tehnika določanja vpadle radiacije iz določene smeri
(incident radiation from a given direction).
Digital Modeling Material reproduction, Dorsey
• Pixar: uporabljeni obe tehniki ray tracing + point-based global illumination, subsurface scattering samo za point
cloud tehniko
https://www.youtube.com/watch?v=sl_QPfcS63c
Slikovno vzorčne tehnike
Računanje lokalnega in globalnega osvetljevanja
Pri tem se računata dva pojava:
• ustvarjanje svetlobne energije na površini, ki se zgodi le za objekte, ki oddajajo svetlobo (lightemitting object) ter svetlobne vire ter
• refleksija (transmisija) in sipanje svetlobe na določeni točki površine objekta, svetloba prihaja iz celotne scene
Digital Modeling Material reproduction, Dorsey
• vsak upodobljevalnik uporablja svojo kombinacijo algoritmov in metod upodabljanja, ki z izhodiščem v funkcijah BRDF, BTDF ter BSDF vključujejo svojo izpeljavo enačbe transporta svetlobe na sceni (ang. light transport equation, LTE)
http://slideplayer.com/slide/8103126/
Globalni izračuni
• teorija transporta svetlobe vključuje matematične enačbe za izračun transferja svetlobe med mediji (globalno osvetljevanje in HDRI)
Simulacija globalnega osvetljevanja, Monte Carlo
• Monte Carlo integracija se izvede s kalkulacijo (ker se mora vrednost radiance v vseh smereh računati, se ta proces izvede rekurzivno s slednjem žarku v smeri)
• paket fotonov je injiciran v medij ter se giblje v ravnih linijah med zaporednimi interakcijami dokler ne najde izhoda iz medija oz. dokler absorpcija in končana (simulacija realnega dogajanja)
Digital Modeling Material reproduction, Dorseyhttp://mropengate.blogspot.si/2016/09/mcml-and-conv-monte-carlo-simulation-of.html
• simulacija transporta svetlobe (MC)
Monte Carlo transport svetlobe
https://www.youtube.com/watch?v=GMDfy_B0rvQ
Simulacija globalnega osvetljevanja, interakltivni Monte Carlo sledenje žarku
https://www.youtube.com/watch?v=su504HbsX8c
Ločevanje direktnega in indirektnega osvetljevanja
• boljše izvedbe od enostavnega stohastičnega sledenja poti (procesi, ki se spreminjajo s
časom ali krajem v skladu z zakoni verjetnosti) je delitev rešitev na direktno in indirektno
osvetljevanje
• oba doprinosa sta potem obravnavana posebej kot ločeni poti vsaka s svojim številom
vzorcev (samples)
• tako se običajno drastično zmanjša količina šuma v sliki kot prikazuje spodnja slika
Digital Modeling Material reproduction, Dorsey
Sledenje poti
• poskuša simulirati točno fizikalno obnašanje svetlobe
• v enem algoritmu naravno simulira svetlobne učinke, ki so v drugih primerih kombinirani z več algoritmi (mehke, sence, globina polja, meglenje premika, kavstika, ambientalna okluzija, indirektno osvetljevanje)
• deluje na principu velikega števila vzorcev, z namenom izogibanja artefaktov, kot je moteči šum
• simulacija delovanja zelo velikega števila majhnih količin svetlobe iz svetlobnega vira, ki potuje po ravni poti od objekta do objekta s spreminjanjem barve in intenzitete, dokler niso absorbirani (v kamero)
• žarkom se sledi iz kamere proti svetlobnem viru
Sledenje poti
• opis delovanja
• je nadgradnja algoritma sledenja žarkom z neskončno rekurzivno globino
• novi žarki so ob trku naključno generirani v hemisferi objekta ter se jim sledi dokler ne zadenejo svetlobni vir (najboljša rešitev je, da se to sploh ne zgodi)
• enostavna psevdokoda algoritma slednje žarkom
Sledenje poti
http://www.pdfiles.com/pdf/files/English/Designing_&_Graphics/3D_Rendering_In_Computer_Graphics.pdf
• žarkom se sledi iz kamere proti svetlobnem viru ter iz svetlobnega vira prosi kameri ali dokler se ne izgubi žarek na sceni
• izris slike je pri tem bistveno hitrejši kot pri enosmernem sledenju poti
• metoda generira podpoti (subpaths) v lečah kamere ter v svetlobnem viru• namen postopka je združevanje žarkov iz ene in druge podpoti z namenom zmanjševanja
variabilnosti med njima ter večje točnosti izrisa
• št. vzorcev: 5000 za sprejemljivo natančnost (trendi novih GPU – 1-10 milijonov vzorcev na sekundo)• problem šuma pri animacijah• modifikacija z Metropolis transportom svetlobe
Dvosmerno sledenje poti
• opis delovanja
Sledenje poti vs. dvosmerno sledenje potiEnosmerno vs. dvosmerno sledenje poti
https://www.youtube.com/watch?v=RHYAVCJ7Xm4
Slednje poti in porazdelitvena funkcija sipanja (Scattering distribution functions)
• reflektivne lastnosti (količina, smer, barva) površine so modelirane z BRDF• ekvivalent je uporabljen za transmisijo z funkcijo BTDF
https://en.wikipedia.org/wiki/Bidirectional_scattering_distribution_function#/media/File:BSSDF01_400.svg
https://www.youtube.com/watch?v=mYMkAnm-PWw
Monte Carlo path tracing
https://www.youtube.com/watch?v=0MJ9lbKF2-U
Arnold render: path tracing
https://www.youtube.com/watch?v=TG9c28JNvXQ
Arnold render: Gravity
Cycles render: path tracing
https://www.youtube.com/watch?v=mIiY6aGefvI
Mapiranje fotonov
• je dvofazni algoritem globalnega osvetljevanja (Henrik Wann Jensen, https://sites.fas.harvard.edu/~cs278/papers/pmap.pdf)
• žarkom se neodvisno sledi iz svetlobnega vira in kamere dokler ni zadoščen definiran končni kriterij za ustavitev postopka, nato so žarki povezani v drugo fazo, kjer se ustvari vrednost radiance
Mapiranje fotonov (Photon mapping)
• možnosti simuliranja: transparenca, difuzne inter-refleksije med osvetljenimi objekti (diffuse interreflectionbetween illuminated objects), sipanje med površinami (subsurface scattering of light in translucent materials), dim, vodna para, upodabljanje spektra svetlobe različnih valovnih dolžin itd.
• je "biased " algoritem upodabljanja (povprečenje več upodobitev, uporaba te metode ne rezultira v točni upodobljevalni enačbi (nasprotno z metodami sledenja poti, Metropolis itd); točnost se lahko poveča z večjim številom fotonov
https://graphics.stanford.edu/courses/cs348b-01/course8.pdf
• določijo se podatki o transmisiji, absorpciji, refleksiji in sipanju glede na vrsto materiala (Monte Carlova metoda, „ruska ruleta“, probabilistična funkcija, ki določi, kaj se zgodi s fotonom)
• pri absorpciji se pot fotona ustavi; pri refleksiji se uporabi BRDF v novi smeri; pri transmisiji se uporabijo druge funkcije glede na vrsto transmisije
• mapa fotonov se generira na podlagi kd- dreves (porazdelitev fotonov) ter shrani
• 1. faza
Princip delovanja
• paketi fotonov so poslani na sceno iz svetlobnega vira• pri interakciji s površino se shrani informacija o interakciji v predpomnilnik imenovan mapa fotonov
(dve mapi sta generirani za sceno: 1. kavstika; 2. globalno osvetljevanje)
Princip delovanja
http://slideplayer.com/slide/7506963/
http://www.follick.ca/rt/design.php
kd- drevo
• mapa, ki se generira v 1. fazi se uporabi za oceno radiance vsakega piskla izhodne slike• za vsak piksel je scena obdelana z algoritmom sledenja žarkov, dokler ni najdena najbližja površina
intersekcije (objekt, svetloba); upodobljevalna enačba se uporabi za izračun površinske radiance, ki zapusti površino v tej točki in smeri žarka
• poenostavitev računanja je mogoča zaradi preračunavanja štirih ločenih fenomenov: direktnega osvetljevanja, spekularne refleksije, kavstike in indirektnega osvetljevanja
• 2. faza
• direktno osvetljevanje se računa z žarkom od točke interakcije žarka z objektom do svetlobnih virov• indirektno osvetljevanje se računa z mapo fotonov in posledično preračunom radianco• spekularna refleksija se računa s sledenjem žarkom• kavstika se računa direktno iz mape za kavstiko (zelo veliko število fotonov!)
Princip delovanja
• pridobivanje N najbližjega fotona z uporabo funkcije iskanja najbližjega soseda na mapi fotonov• S je sfera, ki vsebuje N fotonov • za vsak foton se računa deljenec količine toka (realni fotoni), ki ga predstavlja vsak foton s
površino S ter množi z BRDF, ki je dodana na foton • vsota teh rezultatov za vsak foton predstavlja celotno radianco površine na mestu interakcije ter
v smeri žarka
Računanje radiance iz mape fotonov
https://graphics.stanford.edu/courses/cs348b-01/course8.pdf
Končno zbirane (ang. Final Gather)
https://www.youtube.com/watch?v=hGuVj_CEtZE
Pathtracing vs. Photomapping
https://www.youtube.com/watch?v=5QW-9wnZCRo
RenderMan Pixar: Photon mapping + Path tracing
• bidirectional path
tracing with
progressive photon
mapping (also known
as vertex merging)• https://rmanwiki.pixar.
com/display/REN/PxrVCM
https://www.youtube.com/watch?v=wO5hlSgYXvM
Volumetrično upodabjanje
• rešuje problem upodabljanja površin v isopovršinskih tehnikah (isosurface techniques)• ne uporablja geometričnih predstavitev temveč predstavlja nejasno definirane (fuzzy)
površine
https://www.blender.org/manual/render/blender_render/materials/special_effects/volume.html
Volumetrično upodabljanje
Vključuje korake: 1. formiranje RGBA volumna iz podatkov2. rekonstrukcija kontinuirnih funkcij iz diskretnih podatkov 3. projiciranje rekonstrukcije na 2D ravnino opazovanja (izhodna slika) iz želenega zornega kota
http://johnrichie.com/V2/richie/isosurface/volume.html
Primer: ray casting (žarek iz kamere, trk z voksli objekta, barva in opaciteta piksla se določi z interpolacijo)
Upodabljanje brez sistematičnih napak (Unbiased rendering)
• edine poenostavitve pri izračunu prenosa svetlobe se računajo kot posledica računanja statističnih varianc (Monte-Carlo: posledica šum)
• napake so predvidljive (https://www.cs.cmu.edu/~kmcrane/Projects/Other/BiasInRendering.pdf)
Biased vs Unbiased Renderers
https://www.cs.cmu.edu/~kmcrane/Projects/Other/BiasInRendering.pdf
https://www.youtube.com/watch?v=K-wgA08c2gU
Upodabljanje brez statističnih napak, Maxwell Render
https://www.youtube.com/watch?v=pyljF1aDS40
Biased (V-Ray) vs Unbiased (Octane) Renderers
http://www.ronenbekerman.com/unbaised-gpu-rendering-what-is-the-big-deal/
Nefotorealistično upodabljanje
http
://do
wn
load
.auto
desk.co
m/glo
bal/d
ocs/m
ud
bo
x20
14
/en_u
s/ind
ex.htm
l?url=
files/GU
ID-5
37
3C
DF7
-C8
B5-4
AFB
-821
9-C
BB
5FB
44
1C
33.htm
,top
icNu
mb
er=d3
0e3
289
9
https://www.youtube.com/watch?v=c2C99pQlupg
Nefotorealistično, stilizirano upodabljanje
Pregled
• 1. geometrija
• 2. slike
• 3. video
• A. stilizacija
• B. abstrakcija
http://gfx.cs.princeton.edu/pubs/Kalnins_2003_CSS/kalnins2003css.pdf
• časovna koherenca (temporal coherence)• izzivi risanja silhuet
Kalnins
Risanje direktno na 3D modele
Procesiranje slik in videa za doseganje impresionističnih efektov
http://www.cc.gatech.edu/~hays/papers/IVBPA_Final.pdf
• slikovna in video analiza za računanje izgleda gibanja
James Hays, Irfan Essa: Image and Video Based Painterly Animation
Video vodokolorizacija z uporabo dvosmerne teksturnih učinkov
http://artis.imag.fr/Publications/2007/BNTS07/siggraph_video_watercolor.pdf
Sugestivne konture za izris oblik
DeCarlo et al. Styl. Abs.Geom
https://www.cl.cam.ac.uk/teaching/0910/RSL/Richardt.pdf
http://gfx.cs.princeton.edu/proj/sugcon/
Slikovna abstrakcija temelječa na toku
Kang
Slikovna in video abstrakcija z anizotropičnim Kuwahara filtriranjem
Kyprianidishttp://www.kyprianidis.com/p/pg2009/
http://www.awn.com/news/luxion-unveils-keyshot-41-toon-shading
Toon senčenje
http://www.plaidcreature.com/2009/06/11/
• senčenje
Non-Photorealistic Rendering (NPR), Christian Richardt, Rainbow Group
Toon senčenje
Non-Photorealistic Rendering (NPR), Christian Richardt, Rainbow Group
Toon senčenje
• gradienti
Non-Photorealistic Rendering (NPR), Christian Richardt, Rainbow Group
Toon senčenje
• najsvetlejši deli
Non-Photorealistic Rendering (NPR), Christian Richardt, Rainbow Group
Toon senčenje
• detajli ob silhueti
Teksture in mape
• za doseganje boljšega realizma z detajli
https://www.quora.com/When-designing-a-3D-model-for-a-Unity-game-engine-using-Blender-how-should-I-add-texture-and-how-can-I-reduce-complexity-of-the-models
Mapiranje tekstur
• tekstura je parametrizirana z (u,v)• dodelitev koordinat teksture ogliščem poligona• interpolacija s poligonom• mapirane poteka na nivoju oglišč, vsaka mapirana površina pomeni v bistvu mapirana oglišča
E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012
Mapiranje tekstur
http://blog.machinimatrix.org/the-basics-of-texturing-iii/
Določanje delov modela
• distorzija med upodabljanjem (pretvorba kvadrisetov v trisete!)
Napake med upodabljanjem
http://blog.machinimatrix.org/the-basics-of-texturing-iii/
http://blog.machinimatrix.org/the-basics-of-texturing-iii/
Napake med upodabljanjem
Napake med upodabljanjem
http://blog.machinimatrix.org/the-basics-of-texturing-iii/
Mapiranje tekstur
http://www.thegnomonworkshop.com/store/product/570/UV-Mapping-101#.VobiOfnhBD8
Mapiranje tekstur
• sproščanje UV mape po določenih šivih, preverjanje šahovnice
• sproščanje UV mape v predelu okoli ust in oči
Mapiranje tekstur
Mapiranje tekstur