POV-Ray : Newsgroups : povray.advanced-users : problem with overlapping absorbing objects : problem with overlapping absorbing objects Server Time
28 Jul 2024 12:22:45 EDT (-0400)
  problem with overlapping absorbing objects  
From: mikelito
Date: 8 Sep 2005 13:20:00
Message: <web.43207152b1526a45aeedac110@news.povray.org>
I hope somebody can help with this: I have noticed a strange (and in my
opinion
unphysical) behaviour when two absorbing (interior {fade_distance....} like)
objects overlap.
I attach a test scene, with two transparent boxes, with absorbing interior,
one red, the other blue, the red in the front, the blue in the back; as I
move
the red box making it overlap with the blue one, the intersection area
changes
color from
dark violet (no overlap)
blue (slight overlap)
light violet (0.5 overlap)
red (almost completely overlapping, red in the front)
blue (almost complete overlap, red in the back)
red (slight overlap, red in the back)
dark violet (no overlap, red in the back).

It seems to me that there is something wrong in how overlap is handled:
sticking to red in the front, slight overlap case, the ray traverses the
blue box, so it's blue, than gets into the red box, so that it starts to
get red-filtered, but when it gets out of the blue box it behaves as if
it left also the red box, and suffers no more absorption, hence it turns
out to be blue, when it should have been violet.

I tried to figure out in the code how the raytracer tests into which object
it is when it calculate attenuation, but I have no previous knowledge
of PovRay source, and I fear it's beyond my capabilities.
Please tell me if I'm doing something wrong, or if this is
a bug and in that case give me a hint on where I should look in the code
to fix it. thanks a lot

michele ceriotti


>> TEST SCENE ( same result with PoV 3.5 & 3.6, changing  IORs or
boxes pigments doesn't affect the problem)


global_settings{ max_trace_level 50 }

light_source {
  <-3,10,-10>
  color rgb <1,1,1>
}

light_source {
  <3,-5,4>
  color rgb <1,1,1> *0.5
}

box{
  <0.0,1,-2>,<1,4,2>
  pigment{rgbt 1.0}
  interior{ior 1.00
    fade_distance 0.4
    fade_power 1000
    fade_color <1,0,0>*0.9

  }

  /* play around with this, moving  the
  box & changing the overlap between the two*/
  translate x*0.1
  /******************/


  translate z*-1
}

box{
  <-1,2,-2>,<0.0,5,2>
pigment{rgbt 1.0}
  interior{ior 1.00
    fade_distance 0.4
    fade_power 1000
    fade_color <0,0,1>*0.9
  }
  translate z*1
}

camera {
  location <7, 5, -0>
  direction 1.0*z
  right     x*image_width/image_height
  look_at   <0.0, 3,  0.0>
}

background { color rgb <1.0,0.8,0.2> }

plane { y ,-0.2
  texture{
    pigment { checker pigment {rgb 1} pigment{rgb <0,0,0.6>} }
    finish {ambient 0.3 diffuse 0.8 }
  }
}


/*END TEST*/


Post a reply to this message

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