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

Comparing ray/src/common/bsdf.c (file contents):
Revision 2.46 by greg, Thu Jul 4 15:14:45 2013 UTC vs.
Revision 2.48 by greg, Mon Mar 24 04:00:45 2014 UTC

# Line 558 | Line 558 | SDdiffuseSamp(FVECT outVec, int outFront, double randX
558          SDmultiSamp(outVec, 2, randX);
559          SDsquare2disk(outVec, outVec[0], outVec[1]);
560          outVec[2] = 1. - outVec[0]*outVec[0] - outVec[1]*outVec[1];
561 <        if (outVec[2] > 0)              /* a bit of paranoia */
562 <                outVec[2] = sqrt(outVec[2]);
561 >        outVec[2] = sqrt(outVec[2]*(outVec[2]>0));
562          if (!outFront)                  /* going out back? */
563                  outVec[2] = -outVec[2];
564   }
# Line 790 | Line 789 | SDsampBSDF(SDValue *sv, FVECT ioVec, double randX, int
789                  randX -= sd->tLamb.cieY;
790          }
791                                          /* else one of cumulative dist. */
792 <        for (i = 0; i < n && randX < cdarr[i]->cTotal; i++)
792 >        for (i = 0; i < n && randX > cdarr[i]->cTotal; i++)
793                  randX -= cdarr[i]->cTotal;
794          if (i >= n)
795                  return SDEinternal;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines