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 2n( min ) 2n( min ) a0 bn sin S ( ) an cos 2 n1 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