volumetric light scattering - hochschule münchennischwit/hauptseminar/2009/seminararbeit... ·...
TRANSCRIPT
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Volumetric Light Scattering
Birgit Wunschheim
Hochschule MunchenMunich University of Applied Sciences
30 Juli 2009
1 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Inhalt
• Grundlagen
• Verfahren
1 Real-time Volumetric Lighting in Participating Media2 Anti-aliased and real-time rendering of scenes with light
scattering effects3 Volumetric Light Scattering as a Post-Process4 Interactive Volumetric Shadows in Participating Media
with Single-Scattering
• Fazit
2 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Volumen-Lichtstreuung
• Feinste Partikel im Medium
• Licht wird absorbiert und gestreut
• Bsp. Nebel, Rauch, god rays
• Besonders deutlich bei volumetrischen Schatten
3 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Die Strahlungstransportgleichung
• Physikalisch zugrunde liegende Gleichung
• muss fur jeden Punkt im Raum berechnet werden (teuer!)
• daher meist Vereinfachungen, Naherungen
Die integrale Form der Strahlungstransportgleichung:
L(x) = τ(x0, x)L(x0) +
x∫x0
τ(u, x)κt(u)J(u) du
• L(x) lokale Strahlungsintensitat
• τ(x, y) Durchlassigkeitsgrad des Mediums.
• κt(x) = κa(x) + κs(x) Extinktionskoeffizient
• J(x) Strahlungsintensitat der Lichtquelle
4 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Fake Media Methods
• Physik wird nicht berucksichtigt
• optischer Effekt entscheidend
• Ansprechende Ergebnisse, aber domanenspezifisch
5 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Single Scattering
• Bei hoher Transmittanz oder geringem Albedo:Einfachstreuung ausreichend
• weniger rechenaufwandig als Mehrfachstreuung
• Meist numerische, auch analytische oder stochastischeVerfahren
• Gute Darstellung etwa von Lichtkegeln (Spotlights),sichtbaren Lichtbundeln
• fur Echtzeitverfahren interessant
• Homogenitat des Mediums als weitere Vereinfachung
6 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Multiple Scattering
• Genaueste Nachbildung der physikalischen Vorgange,rechenaufwandig
• meist zwei Durchgange:
1 Berechnung der eingehenden Strahlung pro Punkt(Quellenstrahlung)
2 Visualisierungsdurchgang: Losung der Integralgleichung furalle Punkte der Bildebene
• numerische (isotrop/anisotrop) und stochastische Ansatze
• anisotrope Verfahren aufwandiger, aber realistischer imErgebnis
• bidirektionales Path-Tracing, Metropolis-Methode, PhotonMaps
7 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Real-time Volumetric Lighting in ParticipatingMedia
• Toth et al., Eurografics 2009
• Sichtbare Volumenlichtstrahlen in homogenen Medien furinteraktive Anwendungen
• Single Scattering Verfahren
• Ray-Marching-Verfahren: Lichtstreuung wird entlang deseye rays akkumuliert
• auf der GPU implementiert als Fragment Shader
• Shadow Maps fur die Verdeckungsberechnung
• Z-Buffer fur sichtbare Oberflachen
• interleaved sampling erhoht die Geschwindigkeit
8 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Algorithmus
1 Fur jeden Pixel: ermittle dem Betrachter am nachstenliegenden Oberflachenpunkt sowie dort reflektierteLichtstrahlung. (= Randbedingung fur dieVolumenlichtstrahlung)
2 Von der Oberflache ausgehend: iteriere in kleinen Schrittenentlang des Strahls bis zum Betrachter. An jedemSampling Point:
• berechne eingehende Lichtstreuung nach analytischenModell
• ermittle Absorptionsfaktor e−τ(s−ln)bis zum Betrachter• addiere das Produkt dieser beiden zur Gesamtstrahlung.
3 Speichere berechnete Gesamtstrahlung im Pixel
9 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Real-time Volumetric Lighting in ParticipatingMedia
10 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Interleaved Sampling
• Qualitat und Performance abhangig von Abtastrate proPixel
• Fur Echtzeitfahigkeit: geringe Abtastrate, schlechtereErgebnisse
• deshalb interleaved sampling:
1 Bildflache in Blocke der Große MxM Pixel unterteilen2 N/M2 Abtastwerte pro Pixel auswerten3 Abtastwerte eines Blockes addieren und allen Block-Pixeln
zuordnen
• Voraussetzung: benachbarte Pixel mussen benachbarteOberflachenpunkte treffen
11 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Anti-aliased and real-time rendering of scenes withlight scattering effects
• Imagire et al.
• Vermeidung von Aliaseffekten, die beiSchnittebenenverfahren auftreten:
• hier werden die Volumenobjekte in Schnittebenen zerlegtund an den Eckpunkten ausgewertet.
• bei Echtzeitfahigkeit oft zu geringen Anzahl Ebenen• es entstehen Artefakte
12 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Verfahren
• sampling hulls verhindern Artefakte• Volumenobjekt wird parallel zur Bildflache zweimal
durchschnitten• es entsteht ein konvexes Polyeder, die sampling hull• Form wird genauer nachgebildet, keine Treppeneffekte• n Abtastungen pro sampling hull ermitteln
Streulichtintensitat• eine Alpha-Blending Operation pro Schnittebene
13 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Algorithmus
1 Zunachst wird die bounding box des Volumenobjektes inmehrere sampling hulls unterteilt.
2 Nun werden die opaken Objekte der Szene in den FrameBuffer gerendert.
3 Anschließend werden die sampling hulls der Reihe nach -von hinten bis nach vorne zur Bildebene - bearbeitet undjeweils
• das Volumenobjekt innerhalb der sampling hull gerendert.Hierbei wird der valid sampling path innerhalb dersampling hull gleichmassig abgetastet und jeweils dieLichtstreuungsintensitat berechnet und
• das Ergebnis durch Alpha Blending mit dem Rest derSzene zusammengefugt
14 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Ergebnis
• Links: das vorgestellte Verfahren mit 8 sampling hulls mitjeweils 8 Abtastpunkten. Framerate 77 fps, es sind keineAlias-Effekte sichtbar.
• Rechts: Ein Schnittebenenverfahren mit 64 Ebenen.Framerate 203 fps, es treten Artefakte auf.
15 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Volumetric Light Scattering as a Post-Process
• K. Mitchell, Electronic Arts
• Post-Processing Verfahren fur Erzeugung von god rays
• bestehendes analytisches Modell fur Beleuchtung am Tagwird um volumetrische Schatten erweitert
• Implementierung als Pixel Shader auf der GPU (ShaderModel 3.0)
16 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Verfahren
• Die Lichtintensitat pro Pixel wird analytisch nach Hoffmanund Preetham berechnet
• Abschattungseffekte durch opake Objekte werden einfachals Abschwachung der Lichtquelle modelliert
L(s, θ, φ) = (1−D(φ))L(s, θ)
• s durch das Medium zuruckgelegte Entfernung
• θ Winkel zwischen Strahl und Lichtquelle
• φ Position des Betrachters
• D(φ) Opazitat der Objekte, die die Sonne verdunkeln
17 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Verfahren
• Abschattung pro Pixel wird geschatzt, indem auf Bildebeneein Strahl zwischen Pixel und Lichtebene gebildet wird
• Strahl wird gleichmassig abgetastet, Anzahl derAbtastpunkte im Schatten ergibt gesuchten Wert
• Voraussetzung: opake Objekte mussen dunkler alsumgebendes Medium sein
18 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Grenzen des Verfahrens
• Schatten von Hintergrundobjekten werden vorVordergrundobjekten sichtbar
• Plotzliches Flackern der Lichtstrahlen, wenn opakeObjekte die Bildebene verlassen. Zur Vermeidung kann einzusatzlicher Randbereich gerendert werden.
• Lichtquelle muss vom Betrachter aus sichtbar sein.
19 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Interactive Volumetric Shadows in ParticipatingMedia with Single-Scattering
• Hybrides Verfahren von Wyman et al.
• kombiniert Ray-Marching mit Techniken fur volumetrischeSchatten
• Homogene Medien, Single Scattering
20 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Verfahren
• Berechnung der Lichtstreuung in beleuchteten Regionenuber analytisches Modell von Sun et al.
• Bestimmung des Integrals der eingehenden Lichtstreuungpro Pixel uber zwei Lookups in eine Tabelle mitvorberechneten Werten
• Lichtintensitat muss konstant sein
21 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Algorithmus
1 Rendere Shadow Map aus Sicht der Lichtquelle.
2 Rendere Schattenvolumen aus Sicht des Betrachters,speichere jeweils Abstand zwischen vorderstem undhinterstem Schattenpolygon.
3 Rendere Szene unter Berucksichtigung der Abschwachungder Lichtintensitat e−(κa+κs)ds
(κa Absorptions-, κs Scattering-Koeffizient, ds Entfernung Betrachter / Oberflachenpunkt)
4 Fur Pixel, die keine Schattenbereiche treffen, verwendeModell von Sun et al.
5 Fur die ubrigen Pixel: fuhre Ray-Marching durch, welchesdie schattierten Bereiche von hinten nach vorne durchlauftund beleuchtete Bereiche uber Shadow Map identifiziert.Diese werden uber obiges Modell berechnet.
6 Kombiniere die berechneten beleuchteten Regionen mitder Szene aus 3.
22 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Interactive Volumetric Shadows in ParticipatingMedia with Single-Scattering
• Ray-Marching wird nur fur Pixel durchgefuhrt, die vonvolumetrischen Schatten betroffen sind, und auch nur indem Bereich zwischen vorderster und hintersterSchattengrenze
• dadurch wird Anzahl der Abtastwerte minimiert undPerformance verbessert
• Erweiterungen fur mehrfarbige Spotlights und simulierteMultiscattering Szenen
• vorberechnete Werte werden in Textur gespeichert
23 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Einschatzungen
Alle Verfahren konnen auf der GPU implementiert werden undsind echtzeitfahig
• Volumetric Light Scattering as a Post-Process (V3):• einfach und schnell• viele Einschrankungen und Artefakte• nur ein Anwendungsfall, Fake Media Method.
• Anti-aliased and real-time rendering of scenes with lightscattering effects (V2):
• Gute Vermeidung von Artefakten• aber nur Vergleich mit Schnittebenenverfahren
24 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Einschatzungen
• Real-time Volumetric Lighting in Participating Media(V1):
• analytischer Ansatz mit klassischem Ray-Marching• Per se nicht echtzeitfahig• Interleaved Sampling kann die Qualitat beeintrachtigen
• Interactive Volumetric Shadows in Participating Mediawith Single-Scattering (V4):
• Hybrides Verfahren• tastet nur Bereiche ab, die teilweise im Schatten liegen• Gute Performance.• Werte mussen vorab berechnet und gespeichert werden.
25 / 27
VolumetricLight
Scattering
BirgitWunschheim
Grundlagen
Verfahren 1
Verfahren 2
Verfahren 3
Verfahren 4
Fazit
Quellen
Literatur
• Mitchell K., Volumetric Light Scattering as a Post-Process, 2007.
• Cerezo E. and Perez - Cazorla F. and Pueyo X. and Seron F. and Sillion F., A Survey onParticipating Media Rendering Techniques, 2005.
• Imagire T. and Johan H. and Tamura N. and Nishita T., Anti-Aliased and Real-Time Rendering ofScenes with Light Scattering Effects., 2007.
• Wyman, C. and Ramsey, S., Interactive Volumetric Shadows in Participating Media withSingle-Scattering, 2008
• Toth B. and Umenhoffer T., Real-time Volumetric Lighting in Participating Media, 2009
• Nischwitz A. and Fischer M. and Haberacker P., Computergrafik und Bildverarbeitung, ViewegVerlag, 2007.
• Sun B. and Ramamoorthi S. and Narasimhan N. and Nayar S., A practical analytic single scatteringmodel for real time rendering, 2005.
• Wikipedia, Aerosol — Wikipedia, Die freie Enzyklopadie, 2009.
• Premoze S. and Ashikhmin M., Rendering natural waters, 2001.
26 / 27