POV-Ray : Documentation : Media and transformations
  POV-Ray 3.6 Documentation Online View Multiple medias inside the same object A more advanced example of scattering media Media and transformations

The density of a media can be modified with any pattern modifier, such as turbulence, scale, etc. This is a very powerful tool for making diverse effects.

As an example, let's make an absorbing media which looks like smoke. For this we take the absorbing media example and modify the sphere like this:

 { 0,1.5 pigment { rgbt 1 } hollow
   { media
     { absorption 7
       { spherical density_map
         { [0 rgb 0]
           [0.5 rgb 0]
           [0.7 rgb .5]
           [1 rgb 1]
         scale 1/2
         warp { turbulence 0.5 }
         scale 2
   scale <1.5,6,1.5> translate y

Media transformation example

A couple of notes:

The radius of the sphere is now a bit bigger than 1 because the turbulented pattern tends to take more space.

The absorption color can be larger than 1, making the absorption stronger and the smoke darker.

Note: When you scale an object containing media the media density is not scaled accordingly. This means that if you for example scale a container object larger the rays will pass through more media than before, giving a stronger result. If you want to keep the same media effect with the larger object, you will need to divide the color of the media by the scaling amount.

The question of whether the program should scale the density of the media with the object is a question of interpretation: For example, if you have a glass of colored water, a larger glass of colored water will be more colored because the light travels a larger distance. This is how POV-Ray behaves. Sometimes, however, the object needs to be scaled so that the media does not change; in this case the media color needs to be scaled inversely. Multiple medias inside the same object A more advanced example of scattering media

Copyright 2003-2021 Persistence of Vision Raytracer Pty. Ltd.