Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
Gestaltung des Inneren von transparenten Körpern in POV-Ray
English English English
Italiano Italiano
Français français

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
  Specialprobleme mit Media
  - Skalieren von Media
  - Überlappende Media
                                             

Das Skalieren von "object media"

Skalieren von "object media"
Wenn man den Maßstab eines "object media" in einer POV-Ray-Szene ändert, dann wird die media density nicht entsprechend skaliert!
In Folge dessen treten die Strahlen durch mehr "media" und erzeugen daher einen entsprechend verstärkten Effekt.
So streut z.B. ein scattering media intensiver und daher sieht es dunkler aus (vgl.: das 2. Bild auf dieser Seite!).

Wie skaliert man "object media" korrekt:
Um den media-Effekt bei einer Änderung des Maßstabs konstant konstant zu halten, muß man die entsprechende Farbe "color" (z.B. bei scattering) durch den verwendeten scale-Faktor dividieren!

"object media" mit scale 1.
"object media" mit scale 4.
"object media" mit scale 4 und color dividiert durch 4.

Example: Wie skaliert man 'media'
#declare Cloud_Scale = 10;// 1, ... 500

#declare Cloud =
sphere{ <0,0,0>, 1
  pigment{rgbt 1}
   hollow
  interior{ //-----------
   media{
    emission <1,1,1>/Cloud_Scale
    scattering{ 1,<1,1,1>/Cloud_Scale}
    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
scale Cloud_Scale
} //----- end of sphere
//--------------------------------------
object{ Cloud
  // don't do any additional scaling here!
  translate<0,1,15>
} //--------------------------------------
Szenenbeschreibung für POV-Ray:
"media_scaling_10.txt" oder
"media_scaling_10.pov"
Und als ein Makro-Objekt:
Szenenbeschreibung für POV-Ray:
"media_scaling_macro_10.txt" oder
"media_scaling_macro_10.pov"
Object media mit Cloud_Scale 1 bei <0,1,1>
Object media mit Cloud_Scale 10 bei <0,1,15>
Object media mit Cloud_Scale 500 bei <0,50,600>

Beispiel: Eine media-Wolke als Makro
#macro Cloud_01( Cloud_Scale )
sphere{ <0,0,0>, 1
 pigment{rgbt 1}
 hollow
 interior{ //-----------
 media{
  emission <1,1,1>*0.75/Cloud_Scale
  scattering{ 1,<1,1,1>*5/Cloud_Scale}
  samples 20  // increase = more precise
  intervals 1
  density{ spherical
   scale 0.65
   turbulence 1.00
   color_map {
         [0 rgb 0.0] // border
         [1 rgb 1.0] // center
   } // end color_map
  } // end of density
 } // end of media ---
} // end of interior
scale Cloud_Scale
} //----- end of sphere
#end // end of macro ---------------------

object{ Cloud_01( 5 )//Cloud(Cloud_Scale)
 // don't do any additional scaling here!
  rotate <0,0,0>
  translate <0,4,5>
} //--------------------------------------
Object media Cloud_1, scale 5 bei <0,4,5>
Szenenbeschreibung für POV-Ray:
"media_macro_Cloud_01.txt" oder
"media_macro_Cloud_01.pov"
top
© Friedrich A. Lohmüller, 2014
www.f-lohmueller.de