POV-Ray : Newsgroups : povray.general : Does anyone know how to achieve a fiber-optical effect? : I was mistaken about media+radiosity Server Time
1 Aug 2024 16:26:57 EDT (-0400)
  I was mistaken about media+radiosity  
From: Bob Hughes
Date: 2 Aug 2005 06:45:19
Message: <42ef4ebf@news.povray.org>
When I said radiosity affects media, well, that was a misnomer. I was 
checking about this just tonight as I finally thought on this some more and 
tried a test scene to be sure it could work okay.

Seems that media affects radiosity instead of the other way around. For 
example, a very diffuse white block below a clear tube filled with red media 
(emission <1,0,0>) will glow red, but the media won't be brightened by the 
block FAIK. Without light sources there's no way to scatter the light into 
the media so the block will remain dark unless ambient and even so the media 
remains unaffected..

Sorry that I led you astray. So for doing that I'll try and make up for it 
by giving an example of something like what you asked about, even if it 
might not be exactly the same thing I thought you might have been asking. 
The following script is a quick hack, so please keep that in mind. Photons 
optional.

Bob

/* tube glowing red from light below it */

global_settings {
 assumed_gamma 1.0
 ambient_light 0//1
 radiosity {
  count 123
  brightness 1
  media on
 }
 photons {
  count 5000 // increase...?
  media 100, 2
 }
}

sphere {
 0,100
 pigment {color rgb 0.5}
 inverse
}

camera {
 location <1,2,-6>
 angle 50
 look_at -y
}

box {
 -1,1
 pigment {
  color rgb 1
 }
 finish {
  ambient 1
  diffuse 1
 }
 scale <2,0.5,1>
 translate -2.01*y
 photons {
  target 0
  collect off
 }
}

light_source { // between cylinder and box
 -1.125*y,1
 photons {
  refraction on
  reflection off
 }
}

cylinder {
 -y,+y,0.5
 pigment {
  color rgbt 1
 }
 interior {
  ior 1.48
  fade_distance 0.25
  media {
   samples 15
   emission <1,0,0>//10 // divide by 10 if using photons
   absorption <0.1,0.1,0.1>
   scattering {
    2,<0.5,0,0>//10 // divide by 10 if using photons
   }
   density {
    function {abs(y)}
    density_map {
     [0 rgb 0] // use rgb 1 for even distribution
     [1 rgb 1]
    }
    scale 2
    translate y
   }
  }
 }
 hollow
 photons {
  target 0 // 1 for photons effect
  refraction on
  reflection off
  collect off
 }
}


Post a reply to this message

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