ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/srcsupp.c
(Generate patch)

Comparing ray/src/rt/srcsupp.c (file contents):
Revision 2.20 by greg, Sun Jun 22 18:05:28 2014 UTC vs.
Revision 2.21 by greg, Thu Dec 4 05:26:28 2014 UTC

# Line 76 | Line 76 | setflatss(                             /* set sampling for a flat source */
76          double  mult;
77          int  i;
78  
79 <        src->ss[SV][0] = src->ss[SV][1] = src->ss[SV][2] = 0.0;
79 >        getperpendicular(src->ss[SU], src->snorm);
80 >        mult = .5 * sqrt( src->ss2 );
81          for (i = 0; i < 3; i++)
81                if (src->snorm[i] < 0.6 && src->snorm[i] > -0.6)
82                        break;
83        src->ss[SV][i] = 1.0;
84        fcross(src->ss[SU], src->ss[SV], src->snorm);
85        mult = .5 * sqrt( src->ss2 / DOT(src->ss[SU],src->ss[SU]) );
86        for (i = 0; i < 3; i++)
82                  src->ss[SU][i] *= mult;
83          fcross(src->ss[SV], src->snorm, src->ss[SU]);
84   }
# Line 239 | Line 234 | cylsetsrc(                     /* set a cylinder as a source */
234                                                  /* set sampling vectors */
235          for (i = 0; i < 3; i++)
236                  src->ss[SU][i] = .5 * co->al * co->ad[i];
237 <        src->ss[SV][0] = src->ss[SV][1] = src->ss[SV][2] = 0.0;
243 <        for (i = 0; i < 3; i++)
244 <                if (co->ad[i] < 0.6 && co->ad[i] > -0.6)
245 <                        break;
246 <        src->ss[SV][i] = 1.0;
247 <        fcross(src->ss[SW], src->ss[SV], co->ad);
248 <        normalize(src->ss[SW]);
237 >        getperpendicular(src->ss[SW], co->ad);
238          for (i = 0; i < 3; i++)
239                  src->ss[SW][i] *= .8559 * CO_R0(co);
240          fcross(src->ss[SV], src->ss[SW], co->ad);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines