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
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 } }
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.
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.
What is the status of this bug?
That was in April 2010; since then, I haven't heard any complaints.
Hmm, sounds like we can close this bug then? Certainly the new behavior sounds fine to me.