Multispectrale Rendering

advertisement
Multispectrale Rendering
Peter Vangorp
Koen Yskout
Promotor:
Prof. Dr. ir. Ph. Dutré
Begeleider: K. vom Berge
Overzicht
1.
2.
3.
4.
5.
Inleiding
Kleur
Spectrale representaties
Spectrale effecten
Besluit
Peter Vangorp - Koen Yskout
2
Overzicht
1.
Inleiding
• Situering
• Raytracing & photon map
• Implementatie
2.
3.
4.
5.
Kleur
Spectrale representaties
Spectrale effecten
Besluit
Peter Vangorp - Koen Yskout
3
Situering
Inleiding
Kleur
Spectrale
representaties
Foto-realistische beeldgeneratie ahv
raytracing
Spectrale
effecten
Besluit
Traditioneel:
kleur = RGB
Onze thesis
kleur = spectrum
• nauwkeuriger
• essentieel voor sommige effecten
Peter Vangorp - Koen Yskout
4
Inleiding
Raytracing & photon map
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Raytracing:
• Virtuele camera
• Schiet straal door elke pixel
• Zoek dichtste intersectie en bepaal
kleur
Peter Vangorp - Koen Yskout
5
Inleiding
Raytracing & photon map
Kleur
Spectrale
representaties
Raytracing
Eenvoudige reflecties en refracties
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
6
Inleiding
Raytracing & photon map
Kleur
Spectrale
representaties
Raytracing
Problemen: caustics
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
7
Inleiding
Raytracing & photon map
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Photon mapping
2 fasen:
1. Schiet ‘photons’ en bewaar ze in de
photon map
2. Render zoals in klassieke raytracing, maar
gebruik photon-informatie
Caustics zijn nu eenvoudig (geclusterd in
de photon map)
Peter Vangorp - Koen Yskout
8
Implementatie
Inleiding
Kleur
Spectrale
representaties
Basis: pbrt
bij “Physically Based Rendering”
Matt Phar & Greg Humphreys
Spectrale
effecten
Besluit
Uitgebreid met eigen spectraal
framework en nieuwe materialen
C++
Peter Vangorp - Koen Yskout
9
Overzicht
1.
2.
Inleiding
Kleur
• Spectra
• XYZ en RGB
• RGB naar spectrum
3.
4.
5.
Spectrale representaties
Spectrale effecten
Besluit
Peter Vangorp - Koen Yskout
10
Spectra
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Licht = superpositie van golven
Golf heeft bepaalde golflengte
Besluit
Golflengte 400-700 nm: kleur
400 nm
550 nm
Peter Vangorp - Koen Yskout
700 nm
11
Spectra
Inleiding
Kleur
Spectrale
representaties
Spectrum van licht:
SPD (spectral power distribution)
= verdeling van vermogen volgens golflengte
Spectrale
effecten
Besluit
SPD
(Watt)
400 nm
550 nm
Peter Vangorp - Koen Yskout
700 nm
12
Spectra
Inleiding
Kleur
Spectrale
representaties
Waargenomen spectrum van een object
= SPD lichtbron × Reflectantie materiaal
Spectrale
effecten
Besluit
=
×
SPD
reflectantie
Peter Vangorp - Koen Yskout
waargenomen
spectrum
13
XYZ en RGB
Inleiding
Kleur
Metameren:
Spectrale
representaties
Spectrale
effecten
Besluit
Verschillend spectrum, zelfde kleursensatie
Metameren zijn invariant voor lineaire operaties
(optellen, vermenigvuldigen met constante,
...)
3 waarden volstaan om alle kleursensaties te
beschrijven
= tristimuluswaarden
Metamere spectra hebben dezelfde
tristimuluswaarden
Peter Vangorp - Koen Yskout
14
Inleiding
XYZ en RGB
Kleur
Color matching functies:
Spectrale
representaties
Spectrale
effecten
gewichten voor testlichten zodat ze metameer
zijn voor een monochromatisch licht
Besluit
0.00
0.33
(http://www.research.ibm.com/image_apps/colorsci.html)
Peter Vangorp - Koen Yskout
0.05
15
XYZ en RGB
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Beschrijving met tristimuluswaarden:
XYZ
x   I ( ) x ( )d
y   I ( ) y ( )d
z   I ( ) z ( )d
x ( ), y ( ), z ( ) : color matching functies
•
•
OK om alle kleursensaties te beschrijven
beeldschermonafhankelijk
Peter Vangorp - Koen Yskout
16
XYZ en RGB
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Beschrijving met tristimuluswaarden:
RGB
 r   3.24071 - 1.53726
  
 g    - 0.9692 1.87599
 b   0.05563 - 0.20399
  
•
•
•
- 0.4985  x 
 
0.04155  y 
1.05707  z 
voor sRGB
Ook OK om alle kleursensaties te
beschrijven (met negatieve waarden)
Meestal 0 ≤ r,g,b ≤ 1 (floating point) of
0 ≤ r,g,b ≤ 255 (integer)
 slechts deel kan beschreven worden
Maar: beeldscherm-afhankelijk (fosfors)
Peter Vangorp - Koen Yskout
17
XYZ en RGB
Inleiding
Kleur
Spectrale
representaties
XYZ en RGB zijn niet voldoende om alle
spectra te beschrijven!
Spectrale
effecten
=
×
Besluit
?
(0.1, 0.1, 1)
(0.1, 1, 0.1)
(0.01, 0.1, 0.1)
?
×
metameer
=
niet metameer!
Peter Vangorp - Koen Yskout
18
XYZ en RGB
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Bewijs dat RGB niet voldoende is:
(groen licht)
rood
paars
geel
RGB:
R
×G = 0
(R+B)×G = 0
(R+G)×G = G
Spectra:
van RGB afgeleid
Peter Vangorp - Koen Yskout
19
XYZ en RGB
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Nauwkeurige beschrijvingen van licht,
materialen, ...
Gebruik spectra ipv XYZ/RGB
 XYZ/RGB enkel voor uiteindelijke
visualisatie

Peter Vangorp - Koen Yskout
20
RGB naar spectrum
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Methode van Smits:
An RGB to Spectrum Conversion for Reflectances, B. Smits, 2000
•
•
•
7 Basisspectra voor W, C M Y, R G B
Spectra gekozen zodat ze zacht verlopen
Lineaire combinatie van 3 van deze spectra
Besluit
1
1
0.8
0.8
White
Red
Green
Blue
0.6
0.6
0.4
0.4
0.2
0.2
0
400
450
500
550
600
Peter Vangorp - Koen Yskout
650
700
750
0
800
21
RGB naar spectrum
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
750
White
Red
Green
Blue
Methode van Smits (cyaan, magenta, geel)
1
0.8
Cyan
Magenta
Yellow
0.6
0.4
0.2
800
0
400
450
500
550
600
650
Wavelength
Peter Vangorp - Koen Yskout
700
750
800
22
Inleiding
RGB naar spectrum
Kleur
Spectrale
representaties
Spectrale
effecten
7 spectra ipv 3 (R, G, B) ?
wit spectrum is beter dan som van R, G, B
magenta is beter dan R+B
...
Besluit
Peter Vangorp - Koen Yskout
23
Inleiding
RGB naar spectrum
Kleur
Spectrale
representaties
Voorbeeld
(1.0, 0.6, 0.2)
Spectrale
effecten
Besluit
- 0.2 * Wit
(0.8, 0.4, 0.0)
- 0.4 * Geel
0.2 *
=
0.4 *
=
0.4 *
=
(0.4, 0.0, 0.0)
- 0.4 * Rood
+
Peter Vangorp - Koen Yskout
24
RGB naar spectrum
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Methode van Sun:
Deriving spectra from colors and rendering light interference, Y. Sun, 1999
•
•
Spectrum = som van 3 Gauss-curves
Breedte Gauss-curve ~ saturatie kleur
Besluit
Peter Vangorp - Koen Yskout
25
Overzicht
1.
2.
3.
Inleiding
Kleur
Spectrale representaties
•
•
•
•
•
4.
5.
Bemonsterd
Getabuleerd
Fourier
Composiet
Conversies en bewerkingen
Spectrale effecten
Besluit
Peter Vangorp - Koen Yskout
26
Bemonsterd
Inleiding
Kleur
Spectrale
representaties
Verdeel spectrum in gelijke intervallen
Waarden op gelijke afstand
Interpolatie
Spectrale
effecten
Besluit
+ Nauwkeurig
−
Veel data
Peter Vangorp - Koen Yskout
27
Getabuleerd
Inleiding
Kleur
Spectrale
representaties
Koppels (golflengte, waarde)
Interpolatie
Spectrale
effecten
Besluit
+
−
Nauwkeurig
Mogelijk meer monsters waar nodig
Nog meer data
Peter Vangorp - Koen Yskout
28
Fourier
Inleiding
Kleur
Spectrale
representaties
Fourier-coëfficiënten
 2n(  min ) 
 2n(  min ) 
a0 
  bn sin 

S ( )    an cos
2 n1
 max  min 
 max  min 
Spectrale
effecten
Besluit
+
−
Eenvoudig zacht verlopende spectra
Weinig (~9) coëfficiënten geeft nog redelijk
resultaat
Dure evaluatie en bewerkingen
 Omzetting naar bemonsterd
Peter Vangorp - Koen Yskout
29
Inleiding
Fourier
Kleur
Spectrale
representaties
Spectrale
effecten
OK voor zachtverlopende spectra
wat met steile flanken?
Fourier
Besluit
Peter Vangorp - Koen Yskout
30
Composiet
Inleiding
Kleur
Spectrale
representaties
Zacht verlopend spectrum
+ pieken (golflengte, gewicht)
Spectrale
effecten
Besluit
+
Beter dan andere manieren voor spectra met
pieken (bv. TL-verlichting)
Keuze van voorstelling voor het zacht verlopende
gedeelte is vrij
Peter Vangorp - Koen Yskout
31
Inleiding
Conversies en bewerkingen
Kleur
Spectrale
representaties
Spectrale
effecten
Conversies
tussen alle types
bemonsterd, getabuleerd, fourier, composiet
en ook RGB, XYZ
expliciet
Besluit
maximale vrijheid
bvb. naar bemonsterd met 30 waarden in 400-700nm
impliciet
vast evenwicht tussen nauwkeurigheid en efficiëntie
bvb. naar bemonsterd met 20 waarden op 360-830nm
enkel conversie naar een “hoger” type
op basis van “hoeveelheid informatie” of voorkeur
Peter Vangorp - Koen Yskout
32
Inleiding
Conversies en bewerkingen
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Bewerkingen
problemen t.o.v. typische RGB Color-klasse:
waarde opvragen onafh. van representatie
per golflengte
eventueel impliciete conversie
waarde van RGB op golflengte 510nm?
bewerkingen
voor ieder type
vermenigvuldiging van Fourier-spectra?
conversieregels
RGB x Fourier = ?
Peter Vangorp - Koen Yskout
33
Overzicht
1.
2.
3.
4.
Inleiding
Kleur
Spectrale representaties
Spectrale effecten
•
•
•
•
•
5.
Interferentie in dunne film
Diffractie
Dispersie
Absorptie in volumes
Bemonsterde BRDF
Besluit
Peter Vangorp - Koen Yskout
34
Interferentie
Inleiding
Kleur
Spectrale
representaties
Snelcursus optica
k
Spectrale
effecten
Besluit
2

, E  E0 sin  k  x 
E1  E2  E0 sin  k  x1   E0 sin  k  x2 
 x x 
 x x 
 2 E0 cos  k  1 2   sin  k  1 2 
2 
2 


nieuwe amplitude
constructief: x1  x2  n  
1

destructief: x1  x2   n    
2

Peter Vangorp - Koen Yskout
35
Inleiding
Interferentie in dunne film
Kleur
Spectrale
representaties
Spectrale
effecten
Zeepbel
Interference colours of soap bubbles, D. Jaszkowski en J. Rzeszut, 2003
Fresnel aan twee oppervlakken
één interne reflectie is voldoende
Besluit
Peter Vangorp - Koen Yskout
36
Inleiding
Interferentie in dunne film
Kleur
Spectrale
representaties
Benadering:
slechts 1 inkomende straal
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
37
Inleiding
Interferentie in dunne film
Kleur
Spectrale
representaties
Spectrale
effecten
Zeepbel
dikte exponentieel
met hoogte
Besluit
Peter Vangorp - Koen Yskout
38
Inleiding
Interferentie in dunne film
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Bron: Jan-Willem Bijl, http://www.photographyblog.com/
gallery/showphoto.php?photo=5545 (met toestemming)
Peter Vangorp - Koen Yskout
39
Inleiding
Interferentie in dunne film
Kleur
Spectrale
representaties
Resultaten
groter dikteverschil
Spectrale
effecten
Besluit
0.20 µm – 1.50 µm
Peter Vangorp - Koen Yskout
0.53 µm – 0.73 µm
40
Overzicht
1.
2.
3.
4.
Inleiding
Kleur
Spectrale representaties
Spectrale effecten
•
•
•
•
•
5.
Interferentie in dunne film
Diffractie
Dispersie
Absorptie in volumes
Bemonsterde BRDF
Besluit
Peter Vangorp - Koen Yskout
41
Diffractie
Inleiding
Kleur
Spectrale
representaties
Doel
A Spectrum-Based Framework for Realistic Image Synthesis, Y. Sun, 2000
Spectrale
effecten
Besluit
hoofdstrip: radiaal kleurverloop
nevenstrip: transversaal kleurverloop
Peter Vangorp - Koen Yskout
42
Inleiding
Diffractie
Kleur
Spectrale
representaties
Snelcursus optica
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
43
Diffractie
Inleiding
Kleur
Spectrale
representaties
Compact disc
microstructuur
Spectrale
effecten
Besluit
Bron: Ch. Noldeke, “Compact Disc Diffraction”, The Physics
Teacher, 1990; geciteerd in Y. Sun, “A Spectrum-Based
Framework for Realistic Image Synthesis”, 2000
Peter Vangorp - Koen Yskout
44
Diffractie
Inleiding
Kleur
Spectrale
representaties
Compact disc
vereenvoudigd model
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
45
Diffractie
Inleiding
Kleur
Spectrale
representaties
Benadering:
slechts 1 inkomende en uitgaande straal
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
46
Diffractie
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
BRDF
diffractieve component
tussen verschillende sporen
hoofdstrip
tussen putjes binnen een spoor
Besluit
nevenstrips
anisotroop speculair
om de secundaire
nevenstrips af te zwakken
niet-diffractieve component
isotroop diffuus en speculair
Peter Vangorp - Koen Yskout
47
Diffractie
Inleiding
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
48
Diffractie
Inleiding
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
49
Diffractie
Inleiding
Kleur
Spectrale
representaties
Resultaten
CD
DVD
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
50
Diffractie
Inleiding
Kleur
Spectrale
representaties
Beperkingen
dit kunnen we NIET renderen
Spectrale
effecten
Besluit
maar dit zie je toch niet in het dagelijks leven
Peter Vangorp - Koen Yskout
51
Overzicht
1.
2.
3.
4.
Inleiding
Kleur
Spectrale representaties
Spectrale effecten
•
•
•
•
•
5.
Interferentie in dunne film
Diffractie
Dispersie
Absorptie in volumes
Bemonsterde BRDF
Besluit
Peter Vangorp - Koen Yskout
52
Dispersie
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Brekingsindex afhankelijk van golflengte
Benadering: Sellmeier
n( )  1 
B ²
B1 ²
B ²
 2
 3
 ²  C1  ²  C2  ²  C3
(met B1,2,3 en C1,2,3 experimentele waarden)
diamant
glas
Peter Vangorp - Koen Yskout
53
Inleiding
Dispersie
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
 Gewone raytracing
Peter Vangorp - Koen Yskout
54
Inleiding
Dispersie
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
~ caustics
 Photon mapping
Peter Vangorp - Koen Yskout
55
Dispersie
Inleiding
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Renderen van dispersie:
•
•
Overal monochromatische stralen
Splitsen in monochromatische stralen vanaf
dispersief oppervlak
-
Vast aantal monsters
Aantal monsters = f(hoek blauwe en rode straal)
Equidistant vs random
TRAAG!
Peter Vangorp - Koen Yskout
56
Dispersie
Inleiding
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
57
Dispersie
Inleiding
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
58
Dispersie
Inleiding
Kleur
Spectrale
representaties
Resultaten
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
59
Overzicht
1.
2.
3.
4.
Inleiding
Kleur
Spectrale representaties
Spectrale effecten
•
•
•
•
•
5.
Interferentie in dunne film
Diffractie
Dispersie
Absorptie in volumes
Bemonsterde BRDF
Besluit
Peter Vangorp - Koen Yskout
60
Inleiding
Absorptie in volumes
Kleur
Spectrale
representaties
(nog) geen overtuigend resultaat
geen duidelijk voordeel in spectrale absorptie
Spectrale
effecten
Besluit
Peter Vangorp - Koen Yskout
61
Inleiding
Bemonsterde BRDF
Kleur
Spectrale
representaties
Spectrale
effecten
Besluit
Spectraal opgemeten BRDFs
van Cornell University
8 x 180 x 31
Interpoleren
tussen dichtste buren
Model gebaseerd op het model van Cornell University
Peter Vangorp - Koen Yskout
62
Inleiding
Bemonsterde BRDF
Kleur
Spectrale
representaties
Spectrale
effecten
Beperking: smalle pieken
speculaire reflectie niet opgemeten
gesimuleerde meting van cd (diffractie)
Besluit
Peter Vangorp - Koen Yskout
63
Inleiding
Besluit
Kleur
Spectrale
representaties
Spectrale
effecten
Spectra zijn absoluut nodig
RGB is soms hopeloos ontoereikend
Spectra zijn niet veel trager dan RGB
intersecties blijven het traagste punt
Besluit
Golflengte als extra dimensie in de Monte
Carlo integratie van de rendering
vergelijking is wel te traag
dispersie kan alleen op deze trage manier
Peter Vangorp - Koen Yskout
64
Download