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

Slides:



Advertisements
Ähnliche Präsentationen
Computer Graphics Shader
Advertisements

Spektrale Analysen in EMU-R: eine Einführung
Algorithmentheorie 08 – Dynamische Programmierung (1)
Computer graphics & visualization Procedural Terrain Generation Hager Simon Proseminar Gamedesign.
Simulation komplexer technischer Anlagen
Schnelle Matrizenoperationen von Christian Büttner
Anliegen des Koordinationsbüros Molekulare Biomedizin:
Die Beschreibung von Bewegungen
Diese Fragen sollten Sie beantworten können
Numerik partieller Differentialgleichungen
5. Beleuchtung und Schattierung
Bewegung elektrischer Ladungen im elektrischen Feld
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 5 Stetigkeit.
6. Grundlegende Gleichungen
Java3d „Licht und Material“
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
Displacement Mapping Dynamische Generierung detaillierter Geometrien
Special Effects Realistischeres Rendern einer Scene.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Tutorium
Einführung in die Physik für LAK
Einführung in die Meteorologie (met211) - Teil VI: Dynamik der Atmosphäre Clemens Simmer.
Depth of Field Ein Fachvortrag von: Max Goltzsche und Igor Marijanovic Real-Time RenderingBeuth Hochschule für TechnikSoSe 2012.
Übersicht Motivation Konzeption Umsetzung/ Implementierung
How to make a PIXAR movie
Numerische Lösung chemischer Gleichungen
Spektrale Strahldichte L(, , ) in W m-2 sr-1 mm-1
Basisinformationstechnologie I
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Liouville, Strahlung und Selbst-Effekte
§5-1 §5 Mapping-Techniken Computergrafik - SS Motivation Bisher sind alle Oberflächen (polygonale Objekte, später auch parametrisierte Freiformflächen)
ProSeminar WS 2007/08 Leo Hackstein
Objekte und ihre Beschreibung
Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.
Beleuchtungsmodelle, Schattierungsmodelle
Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures.
Die kosmische Hintergrundstrahlung
Eindimensionale Bewegungen
Klassifikation und Regression mittels neuronaler Netze
Wind fields can e.g. be calculated using the so-called momentum equations which are based on the Navier Stokes equations. But this is complicated mathematics.
Universität zu Köln WS 2014/15 HKI – Softwaretechnologie 2 (Teil 1) Von Tilo Kochs.
Die Welt der Shader Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Fortgeschrittene Techniken.
Geometric Representation
Zeitschriftenprojekt im Fach Deutsch
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Constraint Delaunay Triangulations
2.1 Grundprinzipien der Bewegung: Die Newton‘schen Axiome
Kapitel 3: Erhaltungssätze
Tips zu den Hausaufgaben:
Global-Illumination: Radiosity
Version vom Max-Flow in Orientierten Matroiden Winfried Hochstättler & Robert Nickel Fernuniversität in Hagen Lehrstuhl für Diskrete Mathematik.
Kapitel 4: Statik in kontinuierlichen Medien
Wolken
Die Physikalischen Gesetze des Isaac Newton
Die Physikalischen Gesetze des Isaac Newton
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Streulicht seli GmbH Automatisierungstechnik Dieselstraße Neuenkirchen Tel. (49) (0) 5973 / Fax (49) (0) 5973 /
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
Konstruktion des Bildes
Die gleichförmige Kreisbewegung
 Präsentation transkript:

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

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization Inhalt 1 Problemstellung 1.1 Grundlagen 1.2 Wolkenphysik Dynamik Optik 2 Rendering-Verfahren 2.1 Skyworks (Harris) 2.2 MS Flight Simulator 2004 (Wang)

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1 Problemstellung 1.1 Grundlagen Was sind Wolken? „A cloud is a visible mass of condensed droplets or ice crystals suspended in the atmosphere above the surface of the Earth or another planetary body. “ dropletsice crystalsatmosphereEarthplanetary bodydropletsice crystalsatmosphereEarthplanetary bodyhttp://en.wikipedia.org/wiki/cloud

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.1 Grundlagen Wo werden Wolken-Simulationen gebraucht? Wetter-, Strömungssimulatoren für Flugzeuge: Wetter-, Strömungssimulatoren für Flugzeuge: - mittlere/niedrige Anforderung an Effizienz - niedrige/gar keine Anforderung an Grafik - sehr hohe Anforderung an physikalische Korrektheit Echtzeit-Flugsimulatoren, sonstige Spiele: Echtzeit-Flugsimulatoren, sonstige Spiele: - sehr hohe Anforderung an Effizienz - hohe/mittlere Anforderung an Grafik - mittlere/niedrige Anforderung an physikalische Korrektheit

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.1 Grundlagen Klassifizierung nach WMO (World Meteorological Organisation): Stratocumulus AltocumulusCirrocumulusCumulusCirrusStratus AltostratusNimbostratusCirrostratusCumulonimbusHöhe

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Dynamik Luftbewegung: Luftbewegung: Summe der Kräfte, die auf einen Punkt in der Wolke einwirken und Massenerhaltung (= Divergenzfreiheit bei inkompressiblen Fluiden) ) Inkompressible Euler-Gleichungen: ) Inkompressible Euler-Gleichungen: u: Geschwindigkeit, p: Druck, B: Auftrieb, : (molekulare) Dichte f: Beschleunigung durch externe Kräfte Änderung von u über die Zeit t Advektion Druck-Gradient Auftrieb, Externe Kräfte

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Luftfeuchtigkeit: Luftfeuchtigkeit: Massenerhaltung von Wasserdampf + kondensiertem Wasser ) water continuity equation: q v : Wasserdampf-Anteil, q c : Kondenswasser-Anteil, C: Kondensationsrate Temperatur: Temperatur: Änderung der potentiellen Temperatur (d.h. von p unabhängig) ergibt sich nur aus Verdampfung und Kondensation ) thermodynamic equation: ) thermodynamic equation: : potentielle Temperatur, -L / (c p ) ist Konstante Änderung von q v über die Zeit t Advektion Änderung von  über die Zeit t Advektion

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Optik Absorption Absorption Absorption eines Lichtstrahls Absorptions-Gleichung: (t) = optische Dichte, = Strahlrichtung

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Streuung StreuungStreuungsarten: Rayleigh-Streuung des Sonnenlichts an der Atmosphäre - Rayleigh-Streuung, d.h. Größe des Streukörpers « Wellenlänge der Strahlung - tritt bei Wolkenpartikeln ( ¸ 2 m) NICHT auf Streuung bei kurzen Wellenlängen wesentlich stärker

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Mehr Infos unter: Rayleigh- und Mie-Streuung im Vergleich - Mie-Streuung, d.h. Größe des Streukörpers >/≈ Wellenlänge der Strahlung. Streuung nur schwach von Wellenlänge abhängig Verantwortlich für weiße Färbung der Wolken durch Streuung an Wassertröpfchen

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 1.2 Wolkenphysik Streuungs-Gleichung: Absorption und Streuung des Lichts mit a(x)= Streuungskoeffizient, p = Phasenfunktion

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization Inhalt 1 Problemstellung 1.1 Grundlagen 1.2 Wolkenphysik 2 Echtzeit-Verfahren 2.1 Skyworks (Harris) Numerische Simulation der Wolkendynamik Rendering über 3D Texturen 2.2 MS Flight Simulator 2004 (Wang) Modellierung Rendering über Billboards

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2 Echtzeit-Verfahren 2.1 Skyworks (Harris) Numerische Simulation der Wolkendynamik 2D-Array mit Geschwindigkeitsvektoren Vorgehen: Diskretisierung des Raumes Diskretisierung des Raumes ) Geschwindigkeit, Druck, usw. werden in einem (hier) regulären Gitter gespeichert Diskretisierung der Zeit Diskretisierung der Zeit ) Aktualisierung der Zustände in diskreten Zeitschritten

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Lösung der Euler-Gleichungen: Lösung der Euler-Gleichungen: Advektion von u ( woher bekommen wir p? 1. Selbst-Advektion 2. Auftrieb und externe Kräfte 3. Druck

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Details zu Schritt 3: Helmholtz-Theorem in Anwendung auf ein 2D-Gitter ) Führt zu einer einfachen Differentialgleichung: Über Diskretisierung ergibt sich hieraus ein lösbares LGS Helmholtz-Theorem: jedes Vektorfeld ist Summe eines divergenzfreien und eines rotationsfreien Feldes

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Lösung der water continuity equation: Lösung der water continuity equation: 1. Advektion (analog zu u) 2. Phasenübergang q vs = Sättigungspunkt = der Wasserdampf-Anteil bei dem gilt: Kondensationsrate = Verdampfungsrate (Gleichgewicht)

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Lösung der thermodynamic equation: Lösung der thermodynamic equation: 1. Advektion 2. Temperaturausgleich ) Implementation der angegebenen Schritte ist relativ trivial. Ersetzt man die Arrays durch 2D- bzw. 3D-Texturen, so lässt sich die gesamte Rechnung sogar auf der GPU durchführen.

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Implementation am Beispiel Managed DirectX: Implementation am Beispiel Managed DirectX: - Passe dafür Texturkoordinaten und WorldViewProjection-Matrix so an, dass die Textur den Viewport genau bedeckt. ( ! DX9-Doku: „Directly mapping texels to pixels“) - Implementiere (soweit nötig) für jeden Rechenschritt einen Pixelshader der die Werte für u, p, usw. aus den Texturen liest, daraus die neuen Werte berechnet und in die entsprechende Textur wieder ausgibt Texel auf Pixel abbilden - Erstelle Floating-Point-Texturen (z.B. mit Format.R32F oder Format.A32B32G32R32F) für u, p, usw. mit Parameter Usage.Rendertarget

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Beispiel: 2D-Wolke auf 128x128 Gitter, gerendert mit ¸ 30fps. Die optische Dichte (Opazität) definiert der Wasseranteil q c. Problem: Echtzeit-Berechnung einer 3D-Wolke per frame mit angegebener Technik nicht möglich. Daher: Berechnung nur alle paar Sekunden, dazwischen lineare Interpolation

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Rendering über 3D Texturen Multiple Forward Scattering Dazu vereinfachtes Beleuchtungsmodell nötig: „Multiple Forward Scattering“ = Licht wird nur entlang des Lichtstrahls gestreut (Approximation der Mie-Streuung) Zur Erinnerung: Multiple Forward Scattering (MFS): stattalso

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Diskretisierung ergibt: In rekursiver Schreibweise: mit T k := exp(- k ), I 0 := I a, I N := I b, g k := g(x k, l) 8 k ) Einfaches Verfahren, das auf der Hardware z.B. mittels 3D- Texturen durchführbar ist

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Algorithmus für eine Beleuchtungs-Textur: - Generiere Slices des Volumes, indem das k-1-te Slice mittels Alpha-Blending auf das k-te Slice gerendert wird. Ausgerichtete Beleuchtungs-Textur Dichte-Textur ¢ Beleuchtungs-Textur = beleuchtete Wolke - Multipliziere Dichte-Textur mit Beleuchtungs-Textur - Erstelle ein 3D-Volume, das die komplette Wolke einschließt, richte es nach der Lichtquelle aus und setze die Kamera auf die Position der Lichtquelle (gerichtetes Licht: isometrische Perspektive) Alpha-Blend-Funktion: Setze also f src := 1, c src := g k-1, f dest := T k-1, c dest := I k-1

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.1 Skyworks Bisher Lichtberechnung unabhängig vom Betrachter, daher zusätzlich noch Einfach-Streuung in Kamerarichtung: Multiple Forward Scattering und Eye Scattering Vorgehen größtenteils analog zum MFS-Algorithmus. mit S k = gestreutes Licht am Punkt x k in Kamerarichtung Die Slices sind hierbei in Richtung der Kamera orientiert, und werden über Quads direkt auf den Viewport gerendert.

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator MS Flight Simulator 2004 (Wang) Hauptprobleme bei Skyworks: Kontrollierbarkeit nur eingeschränkt gegeben, da Aussehen nur indirekt beeinflussbar Kontrollierbarkeit nur eingeschränkt gegeben, da Aussehen nur indirekt beeinflussbar Nur bestimmte Wolkentypen darstellbar (Stratuswolken z.B. problematisch wegen großer Fläche) Nur bestimmte Wolkentypen darstellbar (Stratuswolken z.B. problematisch wegen großer Fläche) Performance-Einbußen durch Fluid-Dynamik und komplexe Lichtberechnung Performance-Einbußen durch Fluid-Dynamik und komplexe Lichtberechnung ) für kommerzielles Produkt also eher ungeeignet

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator Modellierung In FS2004 werden die Wolken nicht dynamisch generiert, sondern Models verwendet, die in 3Dsmax erstellt wurden. - Die grobe Form einer Wolke wird dabei über eine Menge von Quadern festgelegt. 3DSMax Plugin für Wokenerstellung - Um eine größere Fläche zu bedecken wird dann eine Wolkenformation aus mehreren Einzelwolken gebildet.

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator Für die Texturierung wird eine Auswahl vorgenerierter Texturen für die verschiedenen Wolkentypen benutzt, die beliebig kombiniert werden können. - Im letzten Schritt wird jeder Quader in ein 2D- Sprite umgewandelt, (= halb transparentes, texturiertes 2D-Objekt) das frei um den Mittelpunkt des Quaders rotierbar ist. Vorgenerierte Texturen Von Quadern....zu Sprites

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator Rendering über Billboards Im Spiel werden die Wolken als Billboards gerendert, d.h. die 2D-Sprites werden rotiert, damit sie immer zur Kamera zeigen. - Um einen „Parting of the Red Sea“- Effekt zu vermeiden, wird dabei der Sichtwinkel bei kleiner Entfernung zur Kamera gesperrt. (hier · Spriteradius / 2) Wolken als Billboards - Falls die Kamera herumschwenken sollte und auf die Kante des Sprites blickt, wird einfach die Transparenz reduziert.

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator 2004 Optimierung mittels Impostor-Ringen: Werden viele Wolken auf einmal dargestellt, resultiert das in einem großen Anteil von Wolken, der zwar gerendert wird, aber eigentlich nicht sichtbar ist. (Overdraw) Werden viele Wolken auf einmal dargestellt, resultiert das in einem großen Anteil von Wolken, der zwar gerendert wird, aber eigentlich nicht sichtbar ist. (Overdraw) Daher werden alle Wolken mit einem Mindestabstand zum Betrachter in einen Ring aus sog. Impostors gerendert. Daher werden alle Wolken mit einem Mindestabstand zum Betrachter in einen Ring aus sog. Impostors gerendert. Der Ring wird dann wie eine Kulisse um die Kamera platziert, um die enthaltene Szene vorzutäuschen. Der Ring wird dann wie eine Kulisse um die Kamera platziert, um die enthaltene Szene vorzutäuschen. Impostor-Ring um die Kamera

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization 2.2 MS Flight Simulator 2004 Der Trick dabei: Man generiert die Impostors nicht in jedem Frame neu, sondern nur wenn es nötig wird, d.h. sobald ein festgesetzter Fehlerwert durch Rotation oder Translation der Kamera überschritten wird. Performance-Gewinn durch Impostors

Hauptseminar – Computer Graphics Oliver Meister computer graphics & visualization Ende Vielen Dank für die Aufmerksamkeit! …Fragen?