hauptseminar – computer graphics oliver meister computer graphics & visualization hs computer...

31
Hauptseminar – Computer Graphics Hauptseminar – Computer Graphics Oliver Meister Oliver Meister computer graphics & computer graphics & visualization visualization HS Computer Graphics HS Computer Graphics Cloud Rendering Cloud Rendering

Upload: annegret-arnold

Post on 06-Apr-2016

261 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister

computer graphics & computer graphics & visualizationvisualization

HS Computer GraphicsHS Computer Graphics

Cloud RenderingCloud Rendering

Page 2: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

InhaltInhalt1 Problemstellung1 Problemstellung

1.1 Grundlagen1.1 Grundlagen1.2 Wolkenphysik1.2 Wolkenphysik

1.2.1 Dynamik1.2.1 Dynamik1.2.2 Optik1.2.2 Optik

2 Rendering-Verfahren2 Rendering-Verfahren2.1 Skyworks (Harris)2.1 Skyworks (Harris)2.2 MS Flight Simulator 2004 (Wang)2.2 MS Flight Simulator 2004 (Wang)

Page 3: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1 Problemstellung1 Problemstellung1.1 Grundlagen1.1 Grundlagen

Was sind Wolken?Was sind Wolken?

„„A A cloudcloud is a visible mass of condensed is a visible mass of condensed droplets or or ice crystals suspended in the suspended in the atmosphere above the above the surface of the surface of the Earth or another or another planetary body.. ““

http://en.wikipedia.org/wiki/cloudhttp://en.wikipedia.org/wiki/cloud

Page 4: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.1 Grundlagen1.1 GrundlagenWo werden Wolken-Simulationen gebraucht?Wo werden Wolken-Simulationen gebraucht?

• Wetter-, Strömungssimulatoren für Flugzeuge:Wetter-, Strömungssimulatoren für Flugzeuge:- mittlere/niedrige Anforderung an Effizienz- mittlere/niedrige Anforderung an Effizienz- niedrige/gar keine Anforderung an Grafik- niedrige/gar keine Anforderung an Grafik- sehr hohe Anforderung an physikalische Korrektheit- sehr hohe Anforderung an physikalische Korrektheit

• Echtzeit-Flugsimulatoren, sonstige Spiele:Echtzeit-Flugsimulatoren, sonstige Spiele:- sehr hohe Anforderung an Effizienz- sehr hohe Anforderung an Effizienz- hohe/mittlere Anforderung an Grafik- hohe/mittlere Anforderung an Grafik- mittlere/niedrige Anforderung an physikalische - mittlere/niedrige Anforderung an physikalische KorrektheitKorrektheit

Page 5: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

Page 6: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.1 Grundlagen1.1 GrundlagenKlassifizierung nach WMO (World Meteorological Organisation):Klassifizierung nach WMO (World Meteorological Organisation):

StratocumulusStratocumulus

AltocumulusAltocumulus

CirrocumulusCirrocumulus

CumulusCumulus

CirrusCirrus

StratusStratus

AltostratusAltostratus

NimbostratusNimbostratusCirrostratusCirrostratus CumulonimbusCumulonimbus

Höh

eH

öhe

Page 7: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysik1.2 Wolkenphysik1.2 Wolkenphysik

1.2.1 Dynamik1.2.1 Dynamik

• Luftbewegung:Luftbewegung:Summe der Kräfte, die auf einen Punkt in der Wolke einwirken und Summe der Kräfte, die auf einen Punkt in der Wolke einwirken und Massenerhaltung (= Divergenzfreiheit bei inkompressiblen Fluiden)Massenerhaltung (= Divergenzfreiheit bei inkompressiblen Fluiden)

)) Inkompressible Euler-Gleichungen: Inkompressible Euler-Gleichungen:

uu: Geschwindigkeit, p: Druck: Geschwindigkeit, p: Druck, , BB: Auftrieb, : Auftrieb, : (molekulare) Dichte : (molekulare) Dichte ff: Beschleunigung durch externe Kräfte: Beschleunigung durch externe Kräfte

Änderung von Änderung von u u über die Zeit tüber die Zeit t AdvektionAdvektion Druck-GradientDruck-Gradient

Auftrieb, Auftrieb, Externe KräfteExterne Kräfte

Page 8: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysik• Luftfeuchtigkeit:Luftfeuchtigkeit:

Massenerhaltung von Wasserdampf + kondensiertem WasserMassenerhaltung von Wasserdampf + kondensiertem Wasser

) ) water continuity equation:water continuity equation:

qqvv: Wasserdampf-Anteil, q: Wasserdampf-Anteil, qcc: Kondenswasser-Anteil, : Kondenswasser-Anteil, C: KondensationsrateC: Kondensationsrate

• Temperatur:Temperatur:Änderung der potentiellen Temperatur (d.h. von p unabhängig) Änderung der potentiellen Temperatur (d.h. von p unabhängig) ergibt sich nur aus Verdampfung und Kondensationergibt sich nur aus Verdampfung und Kondensation

) ) thermodynamic equation:thermodynamic equation:

: potentielle Temperatur, -L / (c: potentielle Temperatur, -L / (cpp ) ist Konstante) ist Konstante

Änderung von qÄnderung von qvv über die Zeit tüber die Zeit t AdvektionAdvektion

Änderung von Änderung von über die Zeit tüber die Zeit t AdvektionAdvektion

Page 9: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysik1.2.2 1.2.2 OptikOptik

• AbsorptionAbsorption

Absorption eines LichtstrahlsAbsorption eines Lichtstrahls

Absorptions-Gleichung:Absorptions-Gleichung:

(t) = optische Dichte, (t) = optische Dichte, = Strahlrichtung= Strahlrichtung

Page 10: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysik• StreuungStreuung

Streuungsarten:Streuungsarten:

Rayleigh-Streuung des Sonnenlichts an der AtmosphäreRayleigh-Streuung des Sonnenlichts an der Atmosphäre

- Rayleigh-Streuung, d.h. Größe des Streukörpers « Wellenlänge Rayleigh-Streuung, d.h. Größe des Streukörpers « Wellenlänge der Strahlung - tritt bei Wolkenpartikeln (der Strahlung - tritt bei Wolkenpartikeln (¸̧ 2 2 m) NICHT aufm) NICHT aufStreuung bei kurzen Wellenlängen wesentlich stärker Streuung bei kurzen Wellenlängen wesentlich stärker

Page 11: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysik

Mehr Infos unter: Mehr Infos unter: http://http://hyperphysics.phy-astr.gsu.eduhyperphysics.phy-astr.gsu.edu//hbasehbase//atmosatmos//blusky.htmlblusky.html

Rayleigh- und Mie-Streuung im VergleichRayleigh- und Mie-Streuung im Vergleich

- Mie-Streuung, d.h. Größe des Streukörpers >/≈ Wellenlänge der Mie-Streuung, d.h. Größe des Streukörpers >/≈ Wellenlänge der Strahlung.Strahlung.Streuung nur schwach von Wellenlänge abhängigStreuung nur schwach von Wellenlänge abhängig

Verantwortlich für weiße Färbung der Wolken durch Streuung Verantwortlich für weiße Färbung der Wolken durch Streuung an Wassertröpfchenan Wassertröpfchen

Page 12: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

1.2 1.2 WolkenphysikWolkenphysikStreuungs-Gleichung:Streuungs-Gleichung:

Absorption und Streuung des LichtsAbsorption und Streuung des Lichts

mitmit

a(x)= Streuungskoeffizient, p = Phasenfunktiona(x)= Streuungskoeffizient, p = Phasenfunktion

Page 13: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

InhaltInhalt1 Problemstellung1 Problemstellung

1.1 Grundlagen1.1 Grundlagen1.2 Wolkenphysik1.2 Wolkenphysik

2 Echtzeit-Verfahren2 Echtzeit-Verfahren2.1 Skyworks (Harris)2.1 Skyworks (Harris)

2.1.1 Numerische Simulation der Wolkendynamik2.1.1 Numerische Simulation der Wolkendynamik2.1.2 Rendering über 3D Texturen2.1.2 Rendering über 3D Texturen

2.2 MS Flight Simulator 2004 (Wang)2.2 MS Flight Simulator 2004 (Wang)2.2.1 Modellierung2.2.1 Modellierung2.2.2 Rendering über Billboards2.2.2 Rendering über Billboards

Page 14: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2 Echtzeit-Verfahren2 Echtzeit-Verfahren2.1 Skyworks (Harris)2.1 Skyworks (Harris)

2.1.1 Numerische Simulation der Wolkendynamik2.1.1 Numerische Simulation der Wolkendynamik

2D-Array mit Geschwindigkeitsvektoren2D-Array mit Geschwindigkeitsvektoren

Vorgehen: Vorgehen: • Diskretisierung des RaumesDiskretisierung des Raumes

)) Geschwindigkeit, Druck, usw. Geschwindigkeit, Druck, usw. werden in einem (hier) regulären werden in einem (hier) regulären Gitter gespeichertGitter gespeichert

• Diskretisierung der ZeitDiskretisierung der Zeit)) Aktualisierung der Zustände in Aktualisierung der Zustände in

diskreten Zeitschrittendiskreten Zeitschritten

Page 15: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 Skyworks• Lösung der Euler-Gleichungen:Lösung der Euler-Gleichungen:

Advektion vonAdvektion von u u

( ( woher bekommen wir p?woher bekommen wir p?

1. Selbst-Advektion1. Selbst-Advektion

2. Auftrieb und externe Kräfte2. Auftrieb und externe Kräfte

3. Druck3. Druck

Page 16: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 SkyworksDetails zu Schritt 3:Details zu Schritt 3:

Helmholtz-Theorem in Anwendung auf ein 2D-GitterHelmholtz-Theorem in Anwendung auf ein 2D-Gitter

)) Führt zu einerFührt zu einer einfachen Differentialgleichung:einfachen Differentialgleichung:

Über Diskretisierung ergibt sich hieraus ein lösbares LGSÜber Diskretisierung ergibt sich hieraus ein lösbares LGS

Helmholtz-Theorem: jedes Vektorfeld ist Summe eines Helmholtz-Theorem: jedes Vektorfeld ist Summe eines divergenzfreien und eines rotationsfreien Feldesdivergenzfreien und eines rotationsfreien Feldes

Page 17: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 Skyworks• Lösung der water continuity equation:Lösung der water continuity equation:

1. Advektion (analog zu 1. Advektion (analog zu uu))

2. Phasenübergang2. Phasenübergang

qqvsvs = Sättigungspunkt = der Wasserdampf-Anteil bei dem = Sättigungspunkt = der Wasserdampf-Anteil bei dem gilt: Kondensationsrate = Verdampfungsrate (Gleichgewicht)gilt: Kondensationsrate = Verdampfungsrate (Gleichgewicht)

Page 18: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 Skyworks• Lösung der thermodynamic equation:Lösung der thermodynamic equation:

1. Advektion1. Advektion

2. Temperaturausgleich2. Temperaturausgleich

)) Implementation der angegebenen Schritte ist relativ trivial. Implementation der angegebenen Schritte ist relativ trivial. Ersetzt man die Arrays durch 2D- bzw. 3D-Texturen, so lässt Ersetzt man die Arrays durch 2D- bzw. 3D-Texturen, so lässt sich die gesamte Rechnung sogar auf der GPU durchführen.sich die gesamte Rechnung sogar auf der GPU durchführen.

Page 19: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 Skyworks• Implementation am Beispiel Managed DirectX:Implementation am Beispiel Managed DirectX:

- Passe dafür Texturkoordinaten und Passe dafür Texturkoordinaten und WorldViewProjection-Matrix so an, dass die WorldViewProjection-Matrix so an, dass die Textur den Viewport genau bedeckt. Textur den Viewport genau bedeckt. ((! ! DX9-Doku: „Directly mapping texels to DX9-Doku: „Directly mapping texels to pixels“)pixels“)

- Implementiere (soweit nötig) für jeden Rechenschritt Implementiere (soweit nötig) für jeden Rechenschritt einen Pixelshader der die Werte für einen Pixelshader der die Werte für uu, p, usw. aus den , p, usw. aus den Texturen liest, daraus die neuen Werte berechnet und in Texturen liest, daraus die neuen Werte berechnet und in die entsprechende Textur wieder ausgibtdie entsprechende Textur wieder ausgibt

Texel auf Pixel abbildenTexel auf Pixel abbilden

- Erstelle Floating-Point-Texturen (z.B. mit Format.R32F Erstelle Floating-Point-Texturen (z.B. mit Format.R32F oder Format.A32B32G32R32F) für oder Format.A32B32G32R32F) für uu, p, usw. mit , p, usw. mit Parameter Usage.RendertargetParameter Usage.Rendertarget

Page 20: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 SkyworksBeispiel:Beispiel:2D-Wolke auf 128x128 Gitter, 2D-Wolke auf 128x128 Gitter, gerendert mit gerendert mit ¸̧ 30fps. 30fps. Die optische Dichte (Opazität) Die optische Dichte (Opazität) definiert der Wasseranteil qdefiniert der Wasseranteil qcc..

Problem:Problem:Echtzeit-Berechnung einer 3D-Wolke Echtzeit-Berechnung einer 3D-Wolke per frameper frame mit angegebener Technik mit angegebener Technik nicht möglich.nicht möglich.

Daher: Daher: Berechnung nur alle paar Sekunden, Berechnung nur alle paar Sekunden, dazwischen lineare Interpolationdazwischen lineare Interpolation

Page 21: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 Skyworks2.1.2 Rendering über 3D Texturen2.1.2 Rendering über 3D Texturen

Multiple Forward ScatteringMultiple Forward Scattering

Dazu vereinfachtes Beleuchtungsmodell nötig: Dazu vereinfachtes Beleuchtungsmodell nötig: „„Multiple Forward Scattering“ = Licht wird nur entlang des Multiple Forward Scattering“ = Licht wird nur entlang des Lichtstrahls gestreut (Approximation der Mie-Streuung)Lichtstrahls gestreut (Approximation der Mie-Streuung)Zur Erinnerung:Zur Erinnerung:

Multiple Forward Scattering (MFS):Multiple Forward Scattering (MFS):stattstatt

also also

Page 22: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 SkyworksDiskretisierung ergibt:Diskretisierung ergibt:

In rekursiver Schreibweise:In rekursiver Schreibweise:

mit Tmit Tkk := exp(- := exp(-kk), I), I00 := I := Iaa, I, INN := I := Ibb, g, gkk := g(x := g(xkk, l) , l) 88 k k

)) Einfaches Verfahren, das auf der Hardware z.B. mittels 3D-Einfaches Verfahren, das auf der Hardware z.B. mittels 3D-Texturen durchführbar istTexturen durchführbar ist

Page 23: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 SkyworksAlgorithmus für eine Beleuchtungs-Textur:Algorithmus für eine Beleuchtungs-Textur:

- Generiere Slices des Volumes, indem das k-1-te Slice mittels Generiere Slices des Volumes, indem das k-1-te Slice mittels Alpha-Blending auf das k-te Slice gerendert wird.Alpha-Blending auf das k-te Slice gerendert wird.

Ausgerichtete Beleuchtungs-TexturAusgerichtete Beleuchtungs-Textur

Dichte-Textur Dichte-Textur ¢¢ Beleuchtungs-Textur = beleuchtete Wolke Beleuchtungs-Textur = beleuchtete Wolke- Multipliziere Dichte-Textur mit Multipliziere Dichte-Textur mit

Beleuchtungs-TexturBeleuchtungs-Textur

- Erstelle ein 3D-Volume, das die komplette Erstelle ein 3D-Volume, das die komplette Wolke einschließt, richte es nach der Wolke einschließt, richte es nach der Lichtquelle aus und setze die Kamera auf die Lichtquelle aus und setze die Kamera auf die Position der LichtquellePosition der Lichtquelle(gerichtetes Licht: isometrische Perspektive)(gerichtetes Licht: isometrische Perspektive)

Alpha-Blend-Funktion:Alpha-Blend-Funktion:

Setze also fSetze also fsrcsrc := 1, c := 1, csrcsrc := g := gk-1k-1, , ffdestdest := T := Tk-1k-1, c, cdestdest := I := Ik-1k-1

Page 24: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.1 Skyworks2.1 SkyworksBisher Lichtberechnung unabhängig vom Betrachter, daherBisher Lichtberechnung unabhängig vom Betrachter, daherzusätzlich noch Einfach-Streuung in Kamerarichtung:zusätzlich noch Einfach-Streuung in Kamerarichtung:

Multiple Forward Scattering und Eye ScatteringMultiple Forward Scattering und Eye Scattering

Vorgehen größtenteils analog Vorgehen größtenteils analog zum MFS-Algorithmus.zum MFS-Algorithmus.

mit Smit Skk = gestreutes Licht am Punkt x = gestreutes Licht am Punkt xkk in Kamerarichtung in Kamerarichtung

Die Slices sind hierbei in Richtung Die Slices sind hierbei in Richtung der Kamera orientiert, und werden der Kamera orientiert, und werden über Quads direkt auf den Viewport über Quads direkt auf den Viewport gerendert.gerendert.

Page 25: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 20042.2 MS Flight Simulator 2004 (Wang)2.2 MS Flight Simulator 2004 (Wang)

Hauptprobleme bei Skyworks:Hauptprobleme bei Skyworks:

• Kontrollierbarkeit nur eingeschränkt gegeben, da Aussehen nur Kontrollierbarkeit nur eingeschränkt gegeben, da Aussehen nur indirekt beeinflussbarindirekt beeinflussbar

• Nur bestimmte Wolkentypen darstellbar (Stratuswolken z.B. Nur bestimmte Wolkentypen darstellbar (Stratuswolken z.B. problematisch wegen großer Fläche)problematisch wegen großer Fläche)

• Performance-Einbußen durch Fluid-Dynamik und komplexe Performance-Einbußen durch Fluid-Dynamik und komplexe LichtberechnungLichtberechnung

)) für kommerzielles Produkt also eher ungeeignet für kommerzielles Produkt also eher ungeeignet

Page 26: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 20042.2.1 Modellierung2.2.1 Modellierung

In FS2004 werden die Wolken nicht dynamisch generiert, In FS2004 werden die Wolken nicht dynamisch generiert, sondern Models verwendet, die in 3Dsmax erstellt wurden.sondern Models verwendet, die in 3Dsmax erstellt wurden.

- Die grobe Form einer Wolke wird dabei Die grobe Form einer Wolke wird dabei über eine Menge von Quadern über eine Menge von Quadern festgelegt.festgelegt.

3DSMax Plugin für Wokenerstellung3DSMax Plugin für Wokenerstellung

- Um eine größere Fläche zu Um eine größere Fläche zu bedecken wird dann eine bedecken wird dann eine Wolkenformation aus mehreren Wolkenformation aus mehreren Einzelwolken gebildet.Einzelwolken gebildet.

Page 27: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 2004- Für die Texturierung wird eine Auswahl Für die Texturierung wird eine Auswahl

vorgenerierter Texturen für die verschiedenen vorgenerierter Texturen für die verschiedenen Wolkentypen benutzt, die beliebig kombiniert Wolkentypen benutzt, die beliebig kombiniert werden können.werden können.

- Im letzten Schritt wird jeder Quader in ein 2D-Im letzten Schritt wird jeder Quader in ein 2D-Sprite umgewandelt, (= halb transparentes, Sprite umgewandelt, (= halb transparentes, texturiertes 2D-Objekt) das frei um den texturiertes 2D-Objekt) das frei um den Mittelpunkt des Quaders rotierbar ist.Mittelpunkt des Quaders rotierbar ist.

Vorgenerierte TexturenVorgenerierte Texturen

Von Quadern..Von Quadern.. ..zu Sprites..zu Sprites

Page 28: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 20042.2.1 Rendering über Billboards2.2.1 Rendering über Billboards

Im Spiel werden die Wolken als Billboards gerendert, d.h. die Im Spiel werden die Wolken als Billboards gerendert, d.h. die 2D-Sprites werden rotiert, damit sie immer zur Kamera zeigen.2D-Sprites werden rotiert, damit sie immer zur Kamera zeigen.

- Um einen „Parting of the Red Sea“-Um einen „Parting of the Red Sea“-Effekt zu vermeiden, wird dabei der Effekt zu vermeiden, wird dabei der Sichtwinkel bei kleiner Entfernung Sichtwinkel bei kleiner Entfernung zur Kamera gesperrt.zur Kamera gesperrt.(hier (hier ·· Spriteradius / 2) Spriteradius / 2)

Wolken als BillboardsWolken als Billboards- Falls die Kamera herumschwenken Falls die Kamera herumschwenken sollte und auf die Kante des Sprites sollte und auf die Kante des Sprites blickt, wird einfach die Transparenz blickt, wird einfach die Transparenz reduziert.reduziert.

Page 29: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 2004Optimierung mittels Impostor-Ringen:Optimierung mittels Impostor-Ringen:

• Werden viele Wolken auf einmal dargestellt, resultiert das in Werden viele Wolken auf einmal dargestellt, resultiert das in einem großen Anteil von Wolken, der zwar gerendert wird, einem großen Anteil von Wolken, der zwar gerendert wird, aber eigentlich nicht sichtbar ist. (Overdraw)aber eigentlich nicht sichtbar ist. (Overdraw)

• Daher werden alle Wolken mit einem Daher werden alle Wolken mit einem Mindestabstand zum Betrachter in Mindestabstand zum Betrachter in einen Ring aus sog. Impostors einen Ring aus sog. Impostors gerendert.gerendert.

• Der Ring wird dann wie eine Kulisse Der Ring wird dann wie eine Kulisse um die Kamera platziert, um die um die Kamera platziert, um die enthaltene Szene vorzutäuschen.enthaltene Szene vorzutäuschen.

Impostor-Ring um die KameraImpostor-Ring um die Kamera

Page 30: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

2.2 MS Flight Simulator 20042.2 MS Flight Simulator 2004Der Trick dabei:Der Trick dabei:

Man generiert die Impostors nicht in jedem Frame neu, Man generiert die Impostors nicht in jedem Frame neu, sondern nur wenn es nötig wird, d.h. sobald ein festgesetzter sondern nur wenn es nötig wird, d.h. sobald ein festgesetzter Fehlerwert durch Rotation oder Translation der Fehlerwert durch Rotation oder Translation der Kamera überschritten wird.Kamera überschritten wird.

Performance-Gewinn durch ImpostorsPerformance-Gewinn durch Impostors

Page 31: Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization HS Computer Graphics Cloud Rendering

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsOliver MeisterOliver Meister computer graphics & computer graphics &

visualizationvisualization

EndeEnde

Vielen Dank für die Aufmerksamkeit!Vielen Dank für die Aufmerksamkeit!

……

Fragen?Fragen?