POV-Ray

The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.

Attached to Project: POV-Ray
Opened by Christoph Lipka - 2010-04-02
Last edited by Christoph Lipka - 2011-08-25

FS#93 - Photons are unnaturally amplified by pass_through objects

The following scene shows how photons are “boosted” by pass_through objects; removing one of the boxes will reduce the effect; the effect can be seen with 3.6 as well as current betas:

global_settings {
  max_trace_level 10 // makes a difference!
  photons { spacing 0.02 }
}

camera {
  right x*image_width/image_height
  location  <0,2.6,-10>
  look_at   <0,0.75,0>
}

light_source {
  <500,500,150>
  color rgb 1.3
  photons {
    refraction on
    reflection on
  }
}

sky_sphere {
  pigment {
    gradient y
    color_map {
      [0.0 rgb <0.6,0.7,1.0>]
      [0.7 rgb <0.0,0.1,0.8>]
    }
  }
}

plane {
  y, 0
  texture { pigment { color rgb <1.0, 0.8, 0.6> } }
}

#declare M_Glass=
material {
  texture {
    pigment {rgbt 1}
    finish {
      ambient 0.0
      diffuse 0.05
      specular 0.6
      roughness 0.005
      reflection { 0.1, 1.0 fresnel on }
      conserve_energy
    }
  }
  interior {
    ior 1.5
    fade_power 1001
    fade_distance 0.9
    fade_color <0.5,0.8,0.6>
  }
}


sphere {
  <1.1,1,-1.3>, 1
  material { M_Glass }
  photons {
    target 1.0
    refraction on
    reflection on
  }
}

cylinder {
  <-1.2,0.01,0.8>, <-1.2,2.5,0.8>, 1
  material { M_Glass }
  photons {  // photon block for an object
    target 1.0
    refraction on
    reflection on
  }
}

box {
  <2.4,0,-2.3>, <2.6,4,-0.3>
  material { M_Glass }
  photons { pass_through }
}

box {
  <2.9,0,-2.3>, <3.1,4,-0.3>
  material { M_Glass }
  photons { pass_through }
}
Closed by  Christoph Lipka
Thursday, 25 August 2011, 18:24 GMT
Reason for closing:  Fixed
Admin
Christoph Lipka commented on Friday, 02 April 2010, 19:57 GMT

Analysis revealed that pass_through objects currently cause photons to be "cloned", with one copy being transmitted unchanged (i.e. as if the object wasn't there) and the other copy being subject to refraction.

Admin
Christoph Lipka commented on Wednesday, 14 April 2010, 22:18 GMT

preliminary fix provided with change #4939.

NOTE: As the error is also present in POV-Ray 3.6, behavior has necessarily changed with this fix; pass_through objects will now affect the color of photons on their way to their target, according to pigment filter/transmit, interior fade, and media (which implies that opaque objects will block photons even when declared pass_through); it needs to be seen whether this new behavior will be accepted by the users, or whether some additional mechanism will have to be implemented to choose between old and new behavior for compatibility with legacy scenes. At present, behavior can only be changed at compile time with the preprocessor defines PT_FILTER_BEFORE_TARGET and PT_AMPLIFY_BUG in photons.cpp.

Thorsten Fröhlich commented on Tuesday, 23 August 2011, 06:15 GMT

What is the status of this bug?

Admin
Christoph Lipka commented on Thursday, 25 August 2011, 17:20 GMT
What is the status of this bug?
As I mentioned a while ago:
it needs to be seen whether this new behavior will be accepted by the users, or whether some additional mechanism will have to be implemented to choose between old and new behavior for compatibility with legacy scenes.

That was in April 2010; since then, I haven't heard any complaints.

Thorsten Fröhlich commented on Thursday, 25 August 2011, 17:24 GMT

Hmm, sounds like we can close this bug then? Certainly the new behavior sounds fine to me.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing