Modellierung von Gasen/ Volumetrische Wolken. VERFASST FÜR DAS DIPLOMANTENSEMINAR Computergrafik IM SS 07 VON SANDRA HOFFMANN



Ähnliche Dokumente
Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

computer graphics & visualization

Diana Lange. GENERATIVE GESTALTUNG Arten des Zufalls

Volumen Visualisierung

Advanced Rendering Interior Szene

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Zeichen bei Zahlen entschlüsseln

Im Original veränderbare Word-Dateien

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ebenenmasken Grundlagen

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Plotten von Linien ( nach Jack Bresenham, 1962 )

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

2 Darstellung von Zahlen und Zeichen

Gitterherstellung und Polarisation

Vektoren mit GeoGebra

Terrain-Rendering mit Geometry Clipmaps

Professionelle Seminare im Bereich MS-Office

6.2 Scan-Konvertierung (Scan Conversion)

Tutorial. 1. Neue Animation erstellen 2. Kartenobjekte animieren 3. Film erstellen. Tutorial 1

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

How to do? Projekte - Zeiterfassung

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

WORKSHOP für das Programm XnView

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

R ist freie Software und kann von der Website.

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

1 Mathematische Grundlagen

EM-Wellen. david vajda 3. Februar Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

Lösung. Prüfungsteil 1: Aufgabe 1

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

1 Aufgabe: Absorption von Laserstrahlung

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Anleitung über den Umgang mit Schildern

icloud nicht neu, aber doch irgendwie anders

Noten ausrechnen mit Excel/Tabellenkalkulation. 1) Individuellen Notenschlüssel/Punkteschlüssel erstellen

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Vermessung und Verständnis von FFT Bildern

10.1 Auflösung, Drucken und Scannen

Überblick. Lineares Suchen

Modellbildungssysteme: Pädagogische und didaktische Ziele

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

KURZANLEITUNG CLOUD OBJECT STORAGE

Der Einsatz von HDRIs in LightWave 7

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Teil 1: Modellierung. Einleitung. 3D Szene Inhalt. Objekte und ihre Beschreibung

7 Rechnen mit Polynomen

Lichtbrechung an Linsen

Zuschauer beim Berlin-Marathon

Praktikum Schau Geometrie

Schritt für Schritt zur Krankenstandsstatistik

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Wir arbeiten mit Zufallszahlen

Übungen Programmieren 1 Felix Rohrer. Übungen

Kaufmännische Berufsmatura 2011

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Lineare Gleichungssysteme

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

3.2 Spiegelungen an zwei Spiegeln

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Objektorientierte Programmierung für Anfänger am Beispiel PHP

1 topologisches Sortieren

Die Übereckperspektive mit zwei Fluchtpunkten

RTT DeltaGen Suite. Materialeinstellungen für OpenGL, RTT RealTrace & Global illumination. Copyright 2010 by Realtime Technology AG

Physik & Musik. Stimmgabeln. 1 Auftrag

Die 10 goldenen Regeln der Fotografie

= i (V) = d 2. v = d! p! n da v 1 = v 2 gilt auch d 1 ÿ p ÿ n 1 = d 2 ÿ p ÿ n 2 (III) p kürzen (Division durch p) d 1 ÿ n 1 = d 2 ÿ n 2 (IV) oder

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Durch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt:

Aus Zahlen werden Bilder. Jan Tobias Mühlberg

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Leichte-Sprache-Bilder

VON GRUND AUF RICHTIG AUFBAUEN

DAS ABI-PFLICHTTEIL Büchlein

Excel Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

Mediator 9 - Lernprogramm

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Speicher in der Cloud

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Was meinen die Leute eigentlich mit: Grexit?

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Gegeben ist die Funktion f durch. Ihr Schaubild sei K.

Grundlagen der Theoretischen Informatik, SoSe 2008

Festigkeit von FDM-3D-Druckteilen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Transkript:

Modellierung von Gasen/ Volumetrische Wolken VERFASST FÜR DAS DIPLOMANTENSEMINAR Computergrafik IM SS 07 VON SANDRA HOFFMANN

Übersicht Geschichte Modellierung und Plazierung Wolkemodellierung Bilder und Videos Allgemeines Rauschen Volumetrische Wolken Rascharten Wolkenfamilie Turbulenz Wolkengattungen Ansätze zur Modellierung von Ansatz Gasen/Wolken Volumenvisualisierung Modellierung von Gas Rendering Verwendung von Grafik- Wolken-Renderer mit OpenGL Hardware Bilder / Videos Rendering System Quellen Volumenrendering Algorithmus Beleutung und Schatten

Modellierung von Gasen Geschichte 1970 Modellierung von Gas in Computergrafik 1983 Voss / 1990 Musgrave Fraktale für realistische Wolken- und Raucheffekte 1984 Kajiya und Von Herzen Physikalsich basiertes Model für Wolkenmodellierung 1986 Max Höhenfelder für die Simulation von Effekte mit diffusem Licht 1987 Nishita, Miyawaki und Nakamae Konstantes Dichte Medium mit verschieden Ebenen von Dichte Nur sehr wenige Geometrien für Gas konnten gemodelt werden 1985/90 Gardner Realisitische Wolkenbilder mit Fourier Synthese Kein realistisches 3D Model für Wolken

Modellierung von Gasen Geschichte 1990 Ebert, Parent, Boyer und Roble Volumen Dichte Funktion Echtes 3D Model für die Geometrie von Gasen 1991/93/95 Stam und Fiume 3D Geometriemodel für Gas mit fuzzy blobbies fuzzy blobbies entspricht volumetrischen Metaballs und Partikel Systemen 1999/2001 Stam, Fedkiw und Jensen Erweiterung des Ansatzes von Stam und Fiume zu einem physikbasierten Navier- Stokes Lösung Sehr realistische Effekte

Geschichte - Wolkenmodellierung in letzten 20 Jahren viel Forschung im Bereich Wolkensimulation und deren Darstellung 1985 Ken Perlin Erzeugung prozendualer Texturen mittels Rausch-Funktion viele weitere Verfahren aufbauend auf dieser Methode neue Arbeit von Y. Dobashi versuchte die prozedurale Eigenschaften von Wolken durch zellulare Automaten zu approximieren alle bisherigen Verfahren sind nicht echtzeitfähig Echtzeit Verfahren durch M. Harris mittels eines Billboard-Ansatzes interaktive Frameraten zu errreichen

Allgemeines Rauschen Rauschen hat in der Natur einen zufälligen Charakter besonders an diesem Zufallsgenerator ist der funktionale Charakter bei Eingabe der gleiche (x,y,z) Werte wird immer der selbe Zufallswert erzeugt Wichtiges Kriterium zur Visualisierung von Gasen und Wolken Form und Oberflächenbeschaffenheit von Gasen und Wolken bestimmt Einfachste Rauschfunktion Zufallsfunktion, die zu jedem Zeitpunkt einen anderen Wert ausgibt Ideale Noise-Funktion Wiederholend und pseudo-zufällig, Periode kann sehr lang gezählt werden, so dass sie nicht sofort ersichtlich ist Wertebereich [-1,1] oder [0,1] Band-begrenzt, maximale Frequenz ist etwa 1 Behält auch nach einer Translation oder Rotation ihr typisches Aussehen

Rauscharten Lattice Noise Rauschfunktionen aus Gruppe der Lattice Noise werden häufig verwendert Rauschfunktion besteht aus 3 Teilen Eindimentionales Array Permutationstabelle Funktion, mit der man an einer bestimmten Stelle in Array einen Wert ermitteln kann Array wird zufällig gefüllt [-1,1] Zwischen Punkten wird interpoliert Qualität der Noise hängt von der Interpolationsmethode ab

Rauscharten Value Noise Erstellung einer zusätzlichen Tabelle mit zufälligen Werten zwischen [-1,1] Lineare Interpolation -> nicht wirklich fein Quadratische oder Kubische Spline Interpolation -> hat nocht einige Artefakte vom Gitteraufbau Kästchenmuster zu erkennen Gradient Noise Kästchenmuster können durch Gradient Noise durchbrochen werden Pro Gitterpunkt wird nicht nur eine Zahl sondern auch ein Vektor der Länge 1 gespeichert Zur Ermittlung des Noise-Wertes wird das Skalarprodukt aus diesem Vektor und dem Nachkomma-Anteil des Ortsvektors des Punktes gebildet

Rauscharten Value Noise Gradient Noise Value und Gradient Noise

Rauscharten Wavelet Noise kleine Welle bezeichnet räumlich und zeitlich lokale Wellenfunktion zur Berechnung der Noise-Funktion verschiedene Wavelets an entsprechender Stelle ausgewertet mit verschiedenen Wichtungen addiert man kann unendlich weit hinein- und hinauszoomen Heranzoomen stärkere Ausblendung höhere Frequenzen und geringere Frequenzen werden sichtbar Heranzoomen Kleine Frequenzen werden schwächer und größere Frequenzen bekommen größeren Einfluss

Rauscharten - Wavelet Noise

Turbulenz Die einfache Noise-Funktion hat immer noch erkennbare Strukturen, da die Zufallswerte auf ganzzahligen Gitterpunkten gespeichert sind Um Unregelmäßigkeiten zu erzeugen, muss die Noise-Funktion erweitert werden Einfachste Möglichkeit Mehrere Noises in verschiedenen Stärken übereinander legen Passiert in der Turbulenz-Funktion Noise werden gestapelt jede Ebene ist nur halb so stark wie die vorhergehende, dafür aber doppelt so gross (skaliert) Anzahl der Ebene = Oktaven

Turbulenz ein Oktave zwei Oktaven drei Oktave vier Oktaven

Turbulenz Turbulenz-Rauschen mit Value Noise Turbulenz-Rauschen mit Gradient Noise

Ansätze zur Modellierung von Gasen/Wolken Oberflächenbasierte Modelle von Objekten 3D Volumen Dichte Funktionen Partikelsystem Billboards 3D Hardware Texture Mapping Hardware beschleunigte Deckkraft/Schatten Mapping Technik Physikalisch basiert Smoothed Particle Hydrodynamics (SPH) Zellulare Automaten Couple Map Lattice (CML) Botzmann Gitter Modell (BGM)

Ansätze zur Modellierung von Gasen/Wolken Claude Navier, George Stokes Strömungsverhalten von Fluiden Nichtlineare Partiellen Differential Gleichungen Numerisches Lösungsverfahren Kompromiss: Genauigkeit <->Geschwindigkeit d u d t Ñ u = 0 Druckterm Advektionsterm } Diffusionsterm 678 } 1 } 2 = - u Ñu - Ñ p + mñ u + f r ÄußereKräfte

Modellierung von Gasen - Verwendung von Grafik-Hardware Verarbeitung von Bildern/Texturen Textur = Array von Werten Repräsentation von Gittern 3D Gitter als Reihe von 2D Texturen Nutzt schnelle Weiterentwicklung der Halbleitertechnologie Kompatible Problem: Genauigkeit

Modellierung von Gasen Rendering System (Ebert/Parent) Echte 3D Bilder und Animationen von Gasen Gemischtes Render System Scanline a-buffer Rendering Algorithmus für oberflächenbegrenzte Objekte Per-pixel Volumen Raytracing Technik für Volumen modelierte Objekte Algorithmus Ersellt a-buffer (Liste) für Scanline, dieser beinhaltet alle Pixel die das akutelle Pixel verdecken Ausmaß des Volumenrenderings wird bestimmt Volumenrendering wird ausgeführt -> Erstellung a-buffer Fragment für den einzelnen Abschnitt des Volumens Verfolgung stoppt wenn Objekt getroffen wird Verfolgung läuft durch Objekt/Volumen und sammelt die Deckkraft und Farbe Volumen a-buffer Fragmente werden sortiert in die a-buffer Fragment Liste basierend auf ihrer durchschittlichen Z-Tiefe a-buffer Fragment Liste wird gerendet -> finale Farbe des Pixels

Modellierung von Gasen Volumen Rendering Algorithmus Strahl vom Augpunkt durch das Pixel wird entlang der Geometrie verfolgt Aufruf der Funktion bei jedem Schritt durch das Volumen Farbe, Dichte, Deckkraft, Schattierung und Ausleuchtung für jede Auswahl bewertet Deckkraft = Dichte Dichte ->Volumen Dichte Funktion ausgewertet wird multipliziet mit der Schrittgröße Im Gasförmiges Model haben wir ein Integral angenährt um die Deckkraft entlang des Stahls zu berechnen Die Annährung verwendet t far - t near ( ( ), ( ), ( )) Deckkraft 1 e t x p x t y t z t x D = - å t t - optische Tiefe des Materials p() - Dichte des Materials t_near - Startpunkt der Volumenverfolgung f_far - Endpunkt

Modellierung von Gasen Beleutung Beleuchtungsmodell: mit I t far å t near ( ( ), ( ), ( )) t tx t near p( x( u) y( u), z( u) ) u B e - å V = I p x t y t z t Vt å i i ( ( ), ( ), ( )) ( Q) I x t y t z t phase die phase() Funktion, charakterisiert die gesamte Beleuchtung des Partikels Ii x t, y t, z t Summe des Lichtes vom Ausgangspunkt des Lichtes der vom Element ( ( ) ( ) ( )) zurückgeworfen wird Selbstschattierung kann in das I mit eingebracht werden, durch Abwächung der Helligkeit jeder Lichtquelle Abschätzung für ein high-albedo Beleutungsmodel kann über hinzufügen eines ambienten Term, basiert auf dem albedo Wert des Materials hinzugefügt werden Albedo(weiß) = ist ein Maß für das Rückstrahlvermögen von diffus reflektierenden, also nicht selbst leuchtenden Oberflächen

Modellierung von Gasen Volumetrischer Schatten volumetrischer Schatten ist wichtig für genaue Bilder Einfachste Möglichkeit Verfolgung eines Strahles von jedem Volumen Element zu jedem Licht Ermittlung der Deckkraft des Materials auf dem Strahl Schnellere Möglichkeit Vorberechnete Tabelle nutzen die einmal pro Frame berechnet wird Position der Schattenpunkte zu den Punkten in der Wolke Punkt liegt in einer Parabellfläche (8 Tabelleneinträge ) 2D Texture Mapping Schatten von Semitransparenten Volumetrischen Objekten Speichern einer Sichtbarkeitsfunktion in jedem Eintrag in der Tiefenschatten Map Die Funktion speichert für jede Tiefe den Anteil des Lichtes das diese Tiefe erreicht Hardware beschleunigte Deckkraft Schatten Mapping Technik Ähnlich zu dem 3D Hardware Textur basierten Volumen Rendering nimmt eine Große Anzahl an Deckkraft Maps für die Berechnung Volumetrischen Schattens

Modellierung von Gasen Solid Spaces Solid Spaces sind 3D Räume welche mit einem Objekt verbunden sind und die Attribute des Objektes verändern kann wird verwendet bei der Beschreibung von Objektattributen z.b. die Farbe Solid Farbraum wird für realistische Bilder von naturgemäßen Objekten verwendet ( ) S x, y, z = F, F Î n, n Î1, 2,3,... 3D Funktion kann auf N-Dimentionen ausgeweitet werden z.b. auf die Zeit

Modellierung von Gasen Gasmodellierung Algorithmus float gas (point P, float max_density, float exponent) { float turb, density; turb = turbulence(pt); /* or turb = (1 + sin (turbulence(pt)*pi)/2) */ density = pow(turb*max_density, exponent); return density; }

Modellierung von Gasen Plazierung und Gasmodellierung Plazieren einiger primitiver Formen um Dichte Volumen zu erhalten Schwächer werdende Dichte um die Zerstreuung berücksichtigen zu können Dampfende Teetasse schwächer werdende Dampf mit größer werdender Distanz vom Zentrum der Teeoberfläche schwächer werdende Dampf zur Höhe über der Teeoberfläche

Modellierung von Gasen Bilder Fedkiw

Modellierung von Gasen Bilder Fedkiw

Modellierung von Gasen Bilder Stam

Modellierung von Gasen Videos Zwei Videos von Fedkiw

Volumetrische Wolken - Wolkenfamilie

Volumetrische Wolken - Wolkenfamilie Hohe Wolken Untergrenze zwischen 5 und 15 Kilometer Beginnen mit Cirr und sind Eiswolken Mittelhohe Wolken Untergrenze 2 bis 7 Kilometer Beginnen mit Alto und sind aus flüssigen und gefrorenem Wasser Tiefe Wolken Höhe von 2 Kilometern Nur flüssiges Wasser enthalten Stockwerkübergreifende Wolken Vom Erdboden bis 13 Kilometer hoch reichen In Namen Sileb nimb enthalten

Volumetrische Wolken - Wolkengattungen Haufenförmig Enden auf cumulus Schichtförmig Enden auf Silbe stratus Schleierförmig Heißen alle cirrus

Volumetrische Wolken - Ansatz zweidimensionale statische Bilder am Himmel plazieren -> Fotos oder am Rechner generierte Bilder Wolken ändern sich nicht in Abhängigkeit der Kamerabewegung Beleuchtung ändern sich nicht je nach Sonneneinfall auf die Wolke mit Hilfe der Rausch-Funktion zweidimensionale Wolken auf die virtuelle Himmelskugel abbilden gute Effekte: mehrere Ebenen übereinander stapeln, um Eindruck von 3D Wolken zu vermitteln

Volumetrische Wolken - Volumenvisualisierung bezeichnet die Repräsentation, Manipulation und Darstellung von Volumendaten umfasst alle Stufen der Visualisierungspipeline Filterung der interesanten Daten aus den kompletten Rohdaten Mapping -> Abbildung dieser Daten auf dargestellte Primitive Rendering -> Bildgenerierung Volumendaten handelt es sich mathematisch gesehen um 3D-Skalarfelder Volumendaten liegen meist nur als skalare Werte an diskreten Gitterpunkten vor Zwischenpunkte aus benachbarten Punkten werden durch Interpolation gewonnen Verfahren zur Visualsierung von Volumendaten lassen sich in zwei Klassen einteilen indirekte Verfahren direkte Verfahren

Volumetrische Wolken - Indirekte Volumenvisualisierung bei indirekten Verfahren werden die Volumendaten einigen Vorverarbeitungsschritten unterzogen intermediäre Repräsentation zu überführen Transformation führt zu Informationsverlust im Vergleich zu den Rohdaten erwünscht um Daten zu extrahieren Verfahren zur Merkmalsextraktion ist das Marching-Cubes-Verfahren werden zu einem Schwellwert(Isowert), die Grenzfläche(Isofläche) extrahiert generiert eine Geometrie, bestehend aus dem Eckpunkten von Dreiecken und deren Normalen Gitterwürfels des Volumens einzeln betrachtet für jeden Würfel werden die Eckpunkte danach klassifiziert, ob die Werte größer oder kleiner als der hervorgegebenen Isowert ist

Volumetrische Wolken - Indirekte Volumenvisualisierung anhand dieser Klassifizierung läßt sich jedem Würfel ein Index zuweisen genaue Position für die Ecken der Dreiecke und deren Normalen lassen sich durch lineare Interpolation der Werte bzw. Normalen der Ecken bestimmen bei sehr komplexen Oberflächen kann die Zahl der durch das Marching-Cubes- Verfahren generierte Polygone sehr gross werden und die Optimierung wird schwer

Volumetrische Wolken - Direkte Volumenvisualisierung Volumendaten direkt zur Darstellung verwendet zwei Bereiche unterteilen Bildraumverfahren (image order) Objektraumverfahren (object order) Bildraumverfahren wird für jeden Bildpunkt ein Strahl vom Auge des Betrachters in das Volumen geschickt um die Beträge des Volumens zu jedem Punkt zu ermitteln Verfahren die nur Primärstrahlen betrachen -> Ray-Casting-Verfahren Verfahren um Sekundärstrahlen zu generieren und zu verfolgen -> Ray-Tracing

Volumetrische Wolken - Föhnwolken (Altocumulus lenticularis) mittelhohen Wolken treten im Föhn auf Linsenförmige Scheiben Rausch-Funktion Rand muss etwas unregelmäßig aussehen http://www.positv.ch/assets/images/db_images/db_foehnwolken_3001.jpg Abhängig von zwei Eingangswerten (z- und y-richtung) ->Unregelmäßigkeit Rand durch leicht abgeänderte Sinus-Funktion beschrieben -> nicht mehr symetrisch Addiert Bruchteil von Rausch Funktion -> Unregelmäßigkeit am Rand

Volumetrische Wolken - Haufenschichtwolken (Stratocumulus stratiformis perlucidus) flache Haufenwolken mit einer großen horizontalen Ausdehnung gibt Wolkenlücken durch die Licht durchscheint kommt bei großen Wolken mit wenig Gitterpunkten aus Rausch-Funktion Geringe Frequenz durch Skalierung http://www.avvsilva.net/nuvensbaixas/nb360219.jpg der Rausch-Funktion Große, zusammenhängende Flächen Hoher Kontrast Turbulenz-Funktion verwendet um Eingangskoordinaten zu verändern

Volumetrische Wolken - Cumulonimbus Capillatus Incus http://upload.wikimedia.org/wikipedi a/commons/thumb/9/98/anvil_shape d_cumulus_panorama_edit_crop.jpg/ 750px- Anvil_shaped_cumulus_panorama_e dit_crop.jpg Blumenkohlartige Oberflächenstruktur Rausch-Funktion Große Flächen mit geringen Rauschen durch Turbulenz-Funktion Tiefe Einschnitte Funktion an Mitte umklappen und auf Turbulenzfunktion anwenden Große zusammenhängende Flächen durch tiefe Furchen abgegrent

Volumetrische Wolken - Rendering Rendering besteht aus zwei Durchläufen 1) Helligkeit an den Gitterpunkten berechnen 2) Wolken werden gerendert Helligkeitsberechnung an den Gitterpunkten Helligkeit einmal vor dem Rendern berechnet Jeder Punkt des Wolkengitters bekommt eine Helligkeit zugewiesen Verfahren: 1. Berechne die entgegengesetzte Richtung des Lichtes in dem Koordinatensystem, das durch das Wolke beschrieben wird. 2. Setze die Helligkeit der Gitterpunkte der drei beleuchteten Seiten auf 100% 3. Ermittle den Richtungsvektor, der - ausgehend von einem Gitterpunkt - die nächste Ebene schneidet. 4. Durchlaufe alle restlichen Gitterpunkte 5. Berechne die Helligkeit anhand der benachbarten Punkte, die bereits bekannt sind 6. Weise dem Helligkeitswert des Punktes die Transparenz zu

Volumetrische Wolken - Rendering Beim Rendern wird die Wolke Pixel für Pixel in das Bild gezeichnet Berechnung der Farbe und der Transparenz des Stahls vom Eintrittspunkt in die Wolke bis er sie wieder verläßt Intensiät der Werte abhängig von der Dichte der Wolke Tranzparenz am Anfang der Berechnung gleich 1 nimmt in jedem Schritt in Abhängigkeit von der Dichte in der Mitte des Segments ab Farbe -> Dichte und Farbintensität muss beachet werden Transparenz: T neu æ 1 ö = Talt - ç è 2 ø t p falloff æ 1 ö Intensität: Is = 1- ç è 2 ø Absortion von Transparent: I = I T oder I = T -T Färbung des gesamten Strahles: C p neu = C alt =Dichte der Wolke t p falloff falloff =Abnahme der Lichtintensität s alt alt neu + Wolkenfarbe Sonnenfarbe L I

Volumetrische Wolken - Wolken-Renderer mit OpenGL Grafikkarte kann keine volumetrischen Objekte darstellen nur Polygone, Linine und Punkte für Volumen rendern, müssen diese Objekte zu hilfe genommen werden zerschneidet das Objekt in Scheiben, versieht jede mit einer Textur und rendert die Scheiben Berechnung der Scheiben um Texturen ausznutzen, sollte Fläche die von Licht beschienen wird gross sein als Normale der Fläche wird die Winkelhalbierende zwischen Lichrichtung und Blickwinkel der Kamera verwendet Berechnung der Helligkeit auf den Scheiben Berechnung einer Transformationsmatrix von Objektkoordinaten in Texturkoordinaten (geben Koordinaten in 3D-Textur an, welche die Dichteverteilung innerhalb der Wolke enthält)

Volumetrische Wolken - Wolken-Renderer mit OpenGL Berechnung der Helligkeit auf den Scheiben Berechnung der Projektions-Matrix Projektion je nach Lichtquelle verscheiden Parallel-Projekt für Sonne Perspektivische Projektion für Spot-Licht Füllen der ersten Textur mit der Farbe der Lichtquelle Rendern der weitern Texturen, mit aufsteigenden Abstand zur Lichquelle Vorhergehende Textur in aktuelle Textur kopiert Abwächung des Lichtes der vorangegangenen Scheibe wirkt sich auf aktuelle Textur aus Bei der trilinearen Interpolation (Grafikkarte) für die Abnahme des Lichtes und der Lichtfarbe, muss darauf geachtet werden, das die Scheibe mit dem größten Abstand zur Sonne später gerendet wird

Volumetrische Wolken - Wolken-Renderer mit OpenGL Berechnung der Helligkeit auf den Scheiben Stärke des Lichtes nach einer bestimmten Wegstrecke Weg abhängig von der Richtung der Normalen der Scheibe und der Richtung des Lichtes p s L æ 1 ö falloff s S = ç sl = è 2 ø cos S ( a ) "Nach welcher Strecke nimmt die Helligkeit entlang des Strahles um die Hälfte ab bei voller Dichte" p = Dichte der Wolke am Beginn des Lichtstrahles s = L Länge des zurückgelegten Weges falloff = Abnahme der Lichtintensität a = Winkel zwischen Normalen und Lichtrichtung

Volumetrische Wolken - Wolken-Renderer mit OpenGL Grafikkarte misch das zu zeichnende Pixel mit dem dahinter liegenden Pixel ( r, g, b) = a ( r, g, b) + ( 1 - a) ( r, g, b) neu Licht wird gedunkelt, Farben verändern sich nicht ( r, g, b) = ( 1 - a) ( r, g, b) neu Berechnung des Farb- und Alpha-Wertes des Pixels ss æ p r r 1 ( L N ) falloff ö æ ö,,, = ç 0,0,0,1- ç ç è 2 ø è ø ( r g b a) alt alt a = 0 Hintergrundfarbe schein vollständig durch, kein Pixel wird gesetzt Dichte an Stelle 0 a = 1 Das neue Pixel ist schwarz, das Licht wird vollständig in Wolke absorbiert

Volumetrische Wolken - Wolken-Renderer mit OpenGL Rendern der Wolke Scheiben absteigend nach ihrem Abstand zur Kamera sortiert und gezeichnet Für jedes Pixel Farbe und Dichte der 3D-Wolkentextur ausgelesen Wolkentextur mit Helligkeit an dem Punkt multipliziert Scheiben unter Umständen zu sehen 3D-Noise-Funktion als Textur in Grafikkarte speichern Elementare Noise-Funktion als Textur speicher, Rest berechnen

Volumetrische Wolken Bilder Musgrave

Volumetrische Wolken Bilder Ebert

Volumetrische Wolken Bilder T. Nishita und Y. Dobashi

Volumetrische Wolken Bilder N. Brickman, D.Olsen und G.Smith

Volumetrische Wolken Videos Videos von Musgave

Quellen Ebert, Musgrave, Peachey, Perlin, Worley Texturing und Modeling: A Procendural Approach http://graphics.stanford.edu/~fedkiw/ http://cobweb.ecn.purdue.edu/~ebertd/ n.brickman, D. Olsen, G. Smith Shapes in the Clouds: Interactive, Artist-Guided Cloud Simulation T. Kunert Modellierung und Visualisierung von Wolken J. Krüger Echtzeitsimulation und -darstellung von Wolken T. Nishita und Y. Dobashi Modeling and Rendering of Various Natural Phenomena Consisting of Particles http://www.kenmusgrave.com/mojoworld/how_to_animate_water.htm