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
|
"media" und "density maps"
Es gibt 4 Musterarten (pattern types) die speziell zusammen mit "media density maps" interessant sind:
spherical
sphere{
<0,0,0>, 1
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission <1,1,1>
scattering{1,<1,1,1>}
density{ spherical
turbulence 0
color_map {
[0 rgb 0.0]//border
[1 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ---
} // end of interior
translate <0,1.00,0>
} //----- end of sphere |
|
cylindrical
cylinder{
<0,-0.5,01>,<0,1,0>,1
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission<-.5,-.5,1>*.6
scattering{1,<1,1,1>}
density{ cylindrical
turbulence 0
color_map {
[0 rgb 0.0]//border
[1 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //---- end of cylinder |
|
boxed
box{
<-1,-.5,-1>,<1,1,1>
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission<-.2,1,-.5>*.6
scattering{1,<1,1,1>}
density{ boxed
turbulence 0
color_map {
[0 rgb 0.0]//border
[1 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //------- end of box |
|
planar
box{
<-1,-.25,-1>,<1,1,1>
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission<1,-.25,1>*.6
scattering{1,<1,1,1>}
density{ planar
frequency 5
color_map {
[0 rgb 0.0]//border
[1 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //------- end of box |
|
|
Ebenso kann man natürlich auch alle bislang bei Texturen verwendete Muster verwenden.
Hier 3 weitere Beispiele: |
|
bozo
box{ <-1,-0.5,-1>,<1,1,1>
pigment{ rgbt 1 }
hollow
interior{ //-----------
media{
emission <-0.4,0.7,1>*0.6
scattering{ 1, <1,1,1>
extinction 1.2 }
density{ bozo
turbulence 0
frequency 20
color_map {
[0.0 rgb 0.0]//border
[0.5 rgb 0.1]
[1.0 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //------- end of box |
|
gradient x
box{ <-1,-0.5,-1>,<1,1,1>
pigment{ rgbt 1 }
hollow
interior{ //-----------
media{
emission <1,0.2,-0.6>*0.9
scattering{ 1, <1,1,1>
extinction 2.0 }
density{ gradient x
turbulence 0.5
frequency 4
color_map {
[0.0 rgb 0.0]//border
[0.5 rgb 0.1]
[1.0 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //------- end of box |
|
quilted
box{ <-1,-0.5,-1>,<1,1,1>
pigment{ rgbt 1 }
hollow
interior{ //-----------
media{
emission <1,-0.8,-0.6>*1.0
scattering{ 1, <1,1,1>
extinction 2.5 }
density{ quilted
turbulence 0.0
frequency 6
color_map {
[0.0 rgb 0.0]//border
[0.5 rgb 0.1]
[1.0 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ----
} // end of interior
translate <0,1,0>
} //------- end of box |
|
Über Density Maps und Container-Formen .
Wenn man Density mit turbulence verwendet, muß man manchmal die Form des Containers vergrößern!
Eine Kugel mit Radius 1.
Density map ohne turbulence.
|
Eine Kugel mit Radius 1.
Density map mit turbulence 1.3.
Container-Kugel kappt Density ab!
|
Eine Kugel mit Radius 1.5.
Density map mit turbulence 1.3.
Density passt in Container-Kugel!
|
Man kann die Density mit Turbulenz ebenso innnerhalb z.B. einer Kugel mit weichen Randübergängen halten,
indem man sie mit einer anderen Density schneidet (intersection)!
Eine Kugel mit Radius 1.
Density map ohne 'turbulence'.
|
Eine Kugel mit Radius 1.5.
Density map mit 'turbulence 1.3'.
Container vergrößert, angepaßt an 'density'!
|
Eine Kugel mit Radius 1.
Density map mit 'turbulence 1.3',
zusätzlich unturbulierte 'density map' für
weiche Ränder der Container-Kugel!
|
|
Boolesche Operationen mit "media" und "density maps"
Man kann mehr als eine density map verwenden, man kann aber auch mehr als ein media anwenden.
Die Resultate sind wie bei CSG mit Körperformen.
intersection
|
union
|
media{ ...
density{ ... } //1
density{ ... }//2
} // end media
|
media{ ... //1
density{ ... }
} // end media 1
media{ ... //2
density{ ... }
}// end media 2
|
|
|