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

Comparing ray/src/rt/pmapcontrib.c (file contents):
Revision 2.10 by greg, Tue Sep 1 16:27:52 2015 UTC vs.
Revision 2.11 by rschregle, Thu Feb 4 11:37:00 2016 UTC

# Line 156 | Line 156 | void photonContrib (PhotonMap *pmap, RAY *ray, COLOR i
156        if (pmap -> srcContrib) {
157           const PhotonPrimary *primary = pmap -> primary +
158                                          sq -> photon -> primary;
159 <         const SRCREC *sp = &source[primary -> srcIdx];
159 >         const SRCREC *sp = &source[primary -> srcIdx];
160           OBJREC *srcMod = findmaterial(sp -> so);
161           MODCONT *srcContrib = (MODCONT*)lu_find(pmap -> srcContrib,
162                                                   srcMod -> oname) -> data;
163           if (!srcContrib)
164 <            continue;
164 >            continue;
165  
166 <         /* Photon's emitting light source has modifier whose
166 >         /* Photon's emitting light source has modifier whose
167            * contributions are sought */
168 <         double srcBinReal;
168 >         double srcBinReal;
169           int srcBin;
170           RAY srcRay;
171  
172           if (srcContrib -> binv -> type != NUM) {
173              /* Use intersection function to set shadow ray parameters
174 <             * if it's not simply a constant
175 <             */
174 >             * if it's not simply a constant */
175              rayorigin(&srcRay, SHADOW, NULL, NULL);
176 <            srcRay.rsrc = primary -> srcIdx;
176 >            srcRay.rsrc = primary -> srcIdx;
177              VCOPY(srcRay.rorg, primary -> pos);
178 <            decodedir(srcRay.rdir, primary -> dir);
178 >            decodedir(srcRay.rdir, primary -> dir);
179  
180 <            if (!(sp->sflags & SDISTANT ? sourcehit(&srcRay)
181 <                        : (*ofun[sp -> so -> otype].funp)(sp -> so, &srcRay)))
180 >            if (!(sp->sflags & SDISTANT
181 >                     ? sourcehit(&srcRay)
182 >                     : (*ofun[sp -> so -> otype].funp)(sp -> so, &srcRay)))
183                  continue;               /* XXX shouldn't happen! */
184  
185              worldfunc(RCCONTEXT, &srcRay);
# Line 189 | Line 189 | void photonContrib (PhotonMap *pmap, RAY *ray, COLOR i
189           if ((srcBinReal = evalue(srcContrib -> binv)) < -.5)
190               continue;          /* silently ignore negative bins */
191    
192 <         if ((srcBin = srcBinReal + .5) >= srcContrib -> nbins) {
192 >         if ((srcBin = srcBinReal + .5) >= srcContrib -> nbins) {
193               error(WARNING, "bad bin number (ignored)");
194               continue;
195           }
# Line 198 | Line 198 | void photonContrib (PhotonMap *pmap, RAY *ray, COLOR i
198               /* Ray coefficient mode; normalise by light source radiance
199                * after applying distrib pattern */
200               int j;
201 +            
202               raytexture(ray, srcMod -> omod);
203               setcolor(ray -> rcol, srcMod -> oargs.farg [0],
204 <                        srcMod -> oargs.farg [1], srcMod -> oargs.farg [2]);
204 >                      srcMod -> oargs.farg [1], srcMod -> oargs.farg [2]);
205               multcolor(ray -> rcol, ray -> pcol);
206               for (j = 0; j < 3; j++)
207 <                flux [j] = ray -> rcol [j] ? flux [j] / ray -> rcol [j]
208 <                                             : 0;
208 <         }
207 >                flux [j] = ray -> rcol [j] ? flux [j] / ray -> rcol [j] : 0;
208 >         }
209                      
210           multcolor(flux, rayCoeff);
211           addcolor(srcContrib -> cbin [srcBin], flux);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines