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

Comparing ray/src/cv/bsdfinterp.c (file contents):
Revision 2.17 by greg, Wed Feb 19 05:16:06 2014 UTC vs.
Revision 2.20 by greg, Sun Oct 26 17:35:53 2014 UTC

# Line 215 | Line 215 | get_interp(MIGRATION *miga[3], FVECT invec)
215                      for (miga[0] = rbf->ejl; miga[0] != NULL;
216                                          miga[0] = nextedge(rbf,miga[0]))
217                          if (opp_rbf(rbf,miga[0]) == rbf->next) {
218 <                                double  nf = 1. - rbf->invec[2]*rbf->invec[2];
218 >                                double  nf = 1. -
219 >                                        rbf->next->invec[2]*rbf->next->invec[2];
220                                  if (nf > FTINY) {       /* rotate to match */
221                                          nf = sqrt((1.-invec[2]*invec[2])/nf);
222 <                                        invec[0] = nf*rbf->invec[0];
223 <                                        invec[1] = nf*rbf->invec[1];
222 >                                        invec[0] = nf*rbf->next->invec[0];
223 >                                        invec[1] = nf*rbf->next->invec[1];
224                                  }
225 <                                return(0);
225 >                                return(0);      /* rotational symmetry */
226                          }
227                      break;
228                  }
# Line 279 | Line 280 | advect_rbf(const FVECT invec, int lobe_lim)
280          VCOPY(sivec, invec);                    /* find triangle/edge */
281          sym = get_interp(miga, sivec);
282          if (sym < 0)                            /* can't interpolate? */
283 <                return(NULL);
283 >                return(def_rbf_spec(invec));
284          if (miga[1] == NULL) {                  /* advect along edge? */
285                  rbf = e_advect_rbf(miga[0], sivec, lobe_lim);
286                  if (single_plane_incident)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines