Home
- POV-Ray Tutorial
Inhaltsübersicht
material, interior, media
- Syntax material
texture + interior
- Window Glass
+ max_trace_level
- Nebel - fog
Media
- Syntax Media
- Media + Density Maps
Atmospheric Media
mit/ohne density map
- Lichtkegel im Nebel
Object Media
Emitting Media
- Lichtschwert
- Kerzenflammen
Scattering Media
- Licht durch Fenster
- Dampf, Rauch, Wolken
Absorbing Media
- Staubteufel
Spezialprobleme mit Media
- Skalieren von Media
- Überlappende Media
|
Lichtkegel im Nebel mit Atmospheric Media
Verwendung des "media"-Befehls
für atmosphärische Effekte
außerhalb von Objekten
|
Fernlicht und Abblend mit Nebel
|
|
Um die Interaktion von Nebel mit Licht zu simulieren verwendet POV-Ray
das sogenannte "volume sampling"
(Dabei berechnet und addiert das Programm den Effekt auf einer begrenzten Anzahl von Schichten von Ebenen
zwischen der Kamera und den Objekten), dies funktioniert nur für endliche Strahlen die ein Objekt treffen.
Anmerkung: POV-Ray kann kein 'media' längs eines unendlich langen Sehstrahls sampeln.
Der Strahl muß endlich sein damit ein Sampeln möglich ist.
D.h. das Sampeln eines 'media' ist nur dann möglich wenn der Strahl ein Objekt in endlicher Entfernung trifft!
Deshalb ist kein atmospheric media vor "background" oder "sky_sphere" sichtbar,
denn diese Objekte sind per Definition in einer unendlichen Entfernung.
Die verwendung von Spotlights mit 'media' ist normalerweise problemlos, da auch in diesem Fall der Strahl endlich ist
(es wird nur innerhalb des Lichtkegels gesampelt).
Man kann erreichen, dass Lightquellen nicht mit atmosphärischen media interagieren indem man
das Schlüsselwort "media_interaction off" dem light_source-Befehl hinzufügt.
Dadurch kann man das Grundlevel der Beleuchtung einer Szene erhöhen um mehr Realismus zu erreichen.
Für media-Effekte, die sich auf begrenzte Bereiche beschränken sollen, ist es
besser (schneller und präziser) wenn man "object media" statt media mit pattern_maps verwendet.
|
Spotlight ohne media-Nebel.
|
Nebel mit scattering media:
( scattering = lichtstreuend )
Um ein globales lichtstreuendes atmosphärisches Medium
für Nebel zu erzeugen, setzt man "media" ohne
einen begrenzenden Container ein:
media{
scattering{
1, // scattering media type 1,2,3,4,5
0.1 // Farbe des media (kein Komma!)
extinction 0.25//optional 0~1
// = wie schnell es Licht absorbiert
}//----------------------------------------
|
Dies sieht noch ziemlich grob aus!
|
|
Nochmal, aber etwas genauer:
media{
scattering{
1, // scattering media type 1,2,3,4,5
0.1 // color of the media (no comma!)
extinction 0.25//optional 0~1
}// end of scattering
intervals 20 // default 10 //
// = how many samples are tooken into
// consideration.
// The intervals span the entire length
// of the ray from camera to where it
// hits an object
}//----------------------------------------
|
|
|
Ungleichmäßiger, wolkiger mit density map:
media{
scattering{
1, // scattering media type 1,2,3,4,5
0.3 // color of the media (no comma!)
extinction 0.25 //optional 0~1
}// end of scattering
intervals 20 //
density {granite scale 10
color_map {
[0.0 rgb <1,1,1>*0.1]
[0.5 rgb <1,1,1>*0.3]
[1.0 rgb <1,1,1>*1 ]
} // end of color_map
}// end of density
}//----------------------------------------
|
|
|
|