Grafik En introduktion till bildsyntes Konstnärliga bildtryck, utförda i ett eller flera exemplar med hjälp av en graverad plåt, träsnittsstock eller litografisk sten. GRIP-VT2002 Gustav Taxén Centrum för användarorienterad IT-design gustavt@nada.kth.se http://www.lightscape.com Melancholia Albrecht Dürer (1471-1528) Plottern (1950-talet) Tidig datorgrafik Gaussian Quadratic Michael oll, 1965. Roman Verostko (Pathway Studio) Framställning som beskrivs med hjälp av figurer. Datorgrafik idag Hummingbird Charles Csuri, 1966. Bildelement Skapandet av bilder genom manipulation av bildelement (oftast). Wooden Mirror Daniel Rozin, 1999. Mosaik från Caesarea, Israel. Mosaik från Ostia, Italien. 1
Bildelement i datorn Rastergrafik Svepstyrning (horisontellt och vertikalt) Skärmpositon Skärmpositon Datorprogram RGB-värden Digitalt minne RGB-värden Volt för R, G, och B-kanonerna Digital-till-analogkonverterare Primitiver Föremål, modeller Samlingar av bildelement Samlingar av primitiver Punkter Linjer Trianglar Polygon Triangelstrip Triangelsolfjäder Modellering och rendering Scener, miljöer Samlingar av modeller Cybermath (CID, KTH) Michelangelo s David (Stanford University) http://www.nada.kth.se/~gustavt/cybermath/ ew World Order Termite Games 2
Översikt Bildsyntes Bildsyntesens huvudmålsättning Reflektionsmodell Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden, Volt för elektronkanoner Grafikkort, skärm Renderad bild? Fotografi? http://www.lightscape.com/ Ljusmodeller Synligt ljus är elektromagnetisk strålning inom våglängderna 380-780 nanometer. Man kan beskriva ljus på kvantnivå, som vågor (Maxwells ekvationer) eller som geometrisk optik (ljus färdas längs med räta linjer i genomskinliga material). Man brukar använda geometrisk optik i bildsyntes. Ofta förutsätter man också att det är vakuum mellan modellerna i scenen. Ljusspektra Diagram som visar energiflöde genom en viss sensor som funktion av våglängd. Energi L(λ) Våglängd 380 780 Våra ögon tar emot ljusspektra och skapar synintryck. Simulerat ljusspektra till datorskärm? Ett riktigt ljusspektra innehåller oändligt med våglängder. Hur visar vi det på en datorskärm? Energi L(λ) Simulerat ljusspektra till datorskärm? Man kan också använda ett antal basfunktioner: L ( λ) c0ϕ 0( λ) + c1ϕ 1( λ) +... + c n ϕn ( λ) Här är ϕ-funktionerna valda på förhand och konstanterna c 0,...,c n är de man arbetar med. Våglängd λ 0 λ 1 λ 2 λ 3 λ 4 380 780 Ett sätt är att sampla spektrat. En tumregel säger att 25-40 samplingar räcker. Man kan visa att c:a 5 termer ger bra resultat, om man har valt bra basfunktioner. Linear Color Representations for Full Spectral Rendering M. S. Peercy, SIGGRAPH 1993. 3
Översikt Bildsyntes Ljusets interaktion med material Reflektionsmodell Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden, Volt för elektronkanoner Grafikkort, skärm Ljusets interaktion med material Absorption Absorption, reflektion, transmission, spridning. Reflekterat ljus Anländande ljus En del av det ljus som anländer till ytan övergår i värme. Perfekt reflektion: Matt reflektion Samma mängd ljus reflekteras i alla riktingar Perfekt reflektion: Spegelreflektion Allt ljus reflekteras i spegelriktingen θ θ 4
Perfekt transmission: Descartes/Snells lag Spridning θ i n 1 n 2 n θ o 1 sinθi = n2 sinθ o Ljus sprids och studsar på små partiklar inne i materialet. Riktiga material Reflektionsdata Mätning Matematisk modell A Practical Model for Subsurface Light Transport Wann Jensen et al., SIGGRAPH 2001. Mätning Reflekterat ljus i riktn. V = + i Matematisk modell: Phongreflektion Allmänljus + Färg hos ljuskälla i (k d ( L i ) + k s cos α (V R i )) R i V θ θ L i http://math.nist.gov/~fhunt/brdf/ 5
Ickerealistiska reflektionsmodeller Ickerealistiska reflektionsmodeller A on-photorealistic Lighting Model for Automatic Technical Illustration Gooch, Gooch, Shirley & Cohen, SIGGRAPH 2000 Art-Based Rendering of Fur, Grass, and Trees Kowalski et al., SIGGRAPH 1999 Ickerealistiska reflektionsmodeller Lokala belysningsmodeller Real-Time Hatching Praun, Hoppe, Webb, Finkelstein, SIGGRAPH 2001 Tag endast hänsyn till materialegenskaper och egenskaper hos ljuskällan. Globala belysningsmodeller Exempel: Klassisk ray tracing (strålföljning) θ ut θ in θ ut θ in Tag också hänsyn till ljusets interaktion med övriga modeller i scenen: skuggor och (eventuellt) indirekt ljus Man kan visa att ljusreflektion uppfyller reciprocitet: R(θ in θ ut ) = R(θ ut θ in ) D.v.s. det spelar ingen roll åt vilket håll vi följer ljusstrålar! 6
Vi betraktar en punkt på en yta. Hur mycket ljus anländer till punkten? Exempel: Klassisk ray tracing (strålföljning) En lösning: Välj strålar som anländer direkt från ljuskällan och via perfekt spegelriktning! Exempel: Klassisk ray tracing (strålföljning) Skuggstråle Skuggstråle Reflekterat ljus Reflekterat ljus Problem: Oändligt många strålar att följa! Många strålar når aldrig kameran! Klassisk ray tracing Indirekt ljus Många relevanta ljusstrålar ignoreras i klassisk ray tracing. An Improved Illumination Model for Shaded Display Turner Whitted, Communications of the ACM, Juni 1980. Klassisk ray tracing vs. indirekt ljus Klassisk ray tracing vs. indirekt ljus http://www.lightscape.com 7
Radiosity-metoden Radiosity-metoden Etc. http://www.lightscape.com Ljusspridning (scattering) Algoritmer som tillåter icke-vakuum mellan föremål i scenen Rayleighspridning S. Y. Lee & F. K. Musgrave, http://www.wizardnet.com/musgrave/clouds.html Display of The Earth Taking into Account Atmospheric Scattering ishita et al., SIGGRAPH 1993. Översikt Bildsyntes Avbildningar Reflektionsmodell Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden, Volt för elektronkanoner Grafikkort, skärm ew Principles of Linear Perspective Brook Taylor, 1719. 8
Hårnålskameran Hårnålskameran i datorn Bildplan (image plane) Projektioner Andra avbildningar Perspektiv Parallell Arnolfiniporträttet Jan van Eyck, 1434. Environment mapping Environment mapping Komplex omgivning Steg 1: Lagra det ljus som anländer till en sfär från alla riktningar. Steg 2: Hitta en reflektionsriktning och hämts det lagrade ljuset i den riktningen. Rendering with atural Light Paul Debevec, 1998. 9
Styrning Trichromacy (tristimulusteori) Godtyckligt spektra X = k Y = k Z = k Färgmatchningsfunktioner 780 380 780 380 780 380 V ( λ) x( λ) dλ V ( λ) y( λ) dλ V ( λ) z( λ) dλ Färgmatchningsfunktioner CIE 1931 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 360 385 410 435 460 485 510 535 560 585 610 635 660 685 710 735 760 785 810 Våglängd x y z Visuell matchning Y är luminans = ljusintensitet. Metamers (metamerer) Tre värden räcker för att beskriva ett godtyckligt spektra m.a.p. färg. Det innebär att flera spektra ger upphov till samma färgintryck. Sådana spektra kallas metamerer. Chromaticity x = X /( X + Y + Z) y = Y /( X + Y + Z ) z = Z /( X + Y + Z ) x + y + z = 1 Projicera ned på planet z = 0: Ger diagram där luminansen i färgen tagits bort. Färggamut Antag att vi har tre monitorfosforer och plottar deras positioner i chromaticitydiagrammet. De färger som de tillsammans kan visa ligger då inom triangeln mellan positionerna. Färgoptimering Ofta vill man visa en färg som ligger utanför gamuten. Det finns många strategier för att välja det närmaste värdet inom gamuten. 10
Ljusstyrkeintervaller Tone Mapping Operators Våra ögon kan enkelt hantera miljöer där de mest ljusa partierna är 10000 gånger starkare än de svagaste partierna. Men förhållandet mellan det svagaste och det starkaste ljus en datorskärm kan skicka ut är bara 100:1. Verklig scen Samma synintryck Datorskärm Hur kan vi komprimera ett 10000:1-intervall till ett 100:1-intervall? Tone operator Virtuell scen Linjär operator Visuella operatorer Välj ett maxvärde m. Dividera alla ljusvärden med m. Om resultatet är >1, sätt till 1. Icke-linjära operatorer baserade på perceptionspsykologi. Wards operator 1 Y'= Y Yd 1.219 + (Yd / 2) 0.4 0.4 1.219 + Ywa 2.5 Yd är den maximala luminans som monitorn kan avge. Man antar också att ögonen hos en tänkt observatör av scenen har anpassat sig till luminansen Ywa. (Greg Ward, A Contrast-Based Scalefactor for Luminance Display, Graphics Gems IV.) Resultat Medelluminans Wards operator 11
Översikt Bildsyntes Reflektionsmodell Kameramodell, Tone mapping, Rastrering Bildelement / RGB-värden, Volt för elektronkanoner Grafikkort, skärm Respons hos monitorfosforer XYZ till RGB Vet vi monitorfosforernas X-, Y-, och Z-värden kan vi lösa ett enkelt linjärt ekvationssystem för att få motsvarande R-, G- och B-värden. Om man inte vet värdena för sin monitor kan man använda standardvärden (men oftast finns de i monitorns manual). Standardkonvertering för HDTV:.537150 0.498535 X R 3.240479 0.041556 Y G = 0.969256 1.875992 B 0.055648 0.204043 1.057311 Z Tack för uppmärksamheten! För vanliga datormonitorer gäller Luminans (Y) Y Vγ Spänning (V) Istället för att skicka V skickar vi V(1/γ). Detta kallas för gammakorrektion. Typiska värden på γ är 2.8±0.3. Om man är noggran ska man kompensera för ljuset i den miljö i vilken monitorn finns. 12