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

Comparing ray/src/common/bsdf_t.c (file contents):
Revision 3.12 by greg, Sun May 1 16:34:37 2011 UTC vs.
Revision 3.13 by greg, Wed Jun 1 00:29:40 2011 UTC

# Line 214 | Line 214 | SDavgTreBox(const SDNode *st, const double *bmin, cons
214          for (i = st->ndim; i--; ) {
215                  if (bmin[i] >= 1.)
216                          return .0;
217 <                if (bmax[i] <= .0)
217 >                if (bmax[i] <= 0)
218                          return .0;
219                  if (bmin[i] >= bmax[i])
220                          return .0;
# Line 234 | Line 234 | SDavgTreBox(const SDNode *st, const double *bmin, cons
234                                  }
235                                  if (sbmin[i] < .0) sbmin[i] = .0;
236                                  if (sbmax[i] > 1.) sbmax[i] = 1.;
237 +                                if (sbmin[i] >= sbmax[i]) {
238 +                                        w = .0;
239 +                                        break;
240 +                                }
241                                  w *= sbmax[i] - sbmin[i];
242                          }
243                          if (w > 1e-10) {
# Line 269 | Line 273 | SDdotravTre(const SDNode *st, const double *pos, int c
273                                          /* in branches? */
274          if (st->log2GR < 0) {
275                  unsigned        skipmask = 0;
272
276                  csiz *= .5;
277                  for (i = st->ndim; i--; )
278                          if (1<<i & cmask)
279                                  if (pos[i] < cmin[i] + csiz)
280 <                                        for (n = 1 << st->ndim; n--; )
280 >                                        for (n = 1 << st->ndim; n--; ) {
281                                                  if (n & 1<<i)
282                                                          skipmask |= 1<<n;
283 +                                        }
284                                  else
285 <                                        for (n = 1 << st->ndim; n--; )
285 >                                        for (n = 1 << st->ndim; n--; ) {
286                                                  if (!(n & 1<<i))
287                                                          skipmask |= 1<<n;
288 +                                        }
289                  for (n = 1 << st->ndim; n--; ) {
290                          if (1<<n & skipmask)
291                                  continue;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines