POV-Ray : Newsgroups : povray.unofficial.patches : Photon bug : Photon bug Server Time
2 Sep 2024 06:16:04 EDT (-0400)
  Photon bug  
From: Sigmund Kyrre Aas
Date: 13 May 2000 16:41:10
Message: <391DBDEA.66FBEB6F@stud.ntnu.no>
There appears to be a bug with photons and texture_map. Consider a typical
photon scene: a refractive object with a floor beneath - Then the
transformation of the floor affects the way caustics appear if the floor has
a texture map. 

This animation will demonstrate the effect:

#version unofficial MegaPov 0.4;
 
$Lpos=<3,5,-5>*6;
light_source { 0, 2  translate Lpos }

// Try these one at a time:
$Pigment_map=0;     // this is ok
$Plain_colour=0;    // ditto
$Texture_map=1;     // this is not ok

$T=.55;//clock;  // clock from 0 through 1
// T=0.5 correspond to no transformation and will produce
// correct results with all the above pigments

camera {
   location  <0, 10 ,-10>
   look_at 0
   rotate 90*y
}
global_settings{
    max_trace_level 12
    photons{
        count 20000
        autostop 0
    }
}
$Ruby_mat=material {
    texture {
        pigment {rgb x filter 0.95}
        finish {specular .4 roughness .01}
    }
    interior { ior 1.06}
}

$C1=<120,1,165>/255;

$Plane=plane{y,.3
#if(Plain_colour) pigment {rgb C1} #end
#if(Texture_map)
    texture {
        marble
        texture_map {
            [.5 pigment {color C1} ]
            [.5 pigment {color C1*1.4} ]
        }
    }
#end
#if(Pigment_map)
    pigment {
        marble
        pigment_map {
            [.5 color C1 ]
            [.5 color C1*1.4 ]
        }
    }
#end
}

object {Plane translate <-5+T*10, 0, -5+T*10>}

$k=0;$l=0;$counter=0; 
#while (k<=1)
    #while (l<=1)
        box {-.5,.5
            material {Ruby_mat}
            photons { target refraction on}
            $Pos=<-5+k*10, 0, -5+10*l>;
            translate Pos+(Lpos-Pos)*.04 +y*.3
        }
        $counter=counter+1;
        $l=l+1/3;
    #end
    $l=0;
    $k=k+1/3; 
#end


Post a reply to this message

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