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

Comparing ray/src/hd/holo.c (file contents):
Revision 3.3 by gregl, Thu Nov 6 16:37:45 1997 UTC vs.
Revision 3.4 by gregl, Tue Nov 11 14:40:59 1997 UTC

# Line 178 | Line 178 | register GCOORD        gc[2];
178   }
179  
180  
181 + hdcell(cp, hp, gc)              /* compute cell coordinates */
182 + register FVECT  cp[4];  /* returned (may be passed as FVECT cp[2][2]) */
183 + HOLO    *hp;
184 + register GCOORD *gc;
185 + {
186 +        register int    i;
187 +        register FLOAT  *v;
188 +        double  d;
189 +                                        /* compute each corner */
190 +        for (i = 0; i < 4; i++) {
191 +                VCOPY(cp[i], hp->orig);
192 +                if (gc->w & 1) {
193 +                        v = hp->xv[gc->w>>1];
194 +                        cp[i][0] += *v++; cp[i][1] += *v++; cp[i][2] += *v;
195 +                }
196 +                d = (double)( gc->i[0] + (i&1) ) / hp->grid[wg0[gc->w]];
197 +                v = hp->xv[wg0[gc->w]];
198 +                cp[i][0] += d * *v++; cp[i][1] += d * *v++; cp[i][2] += d * *v;
199 +
200 +                d = (double)( gc->i[1] + (i>>1) ) / hp->grid[wg1[gc->w]];
201 +                v = hp->xv[wg1[gc->w]];
202 +                cp[i][0] += d * *v++; cp[i][1] += d * *v++; cp[i][2] += d * *v;
203 +        }
204 + }
205 +
206 +
207   hdlseg(lseg, hp, i)                     /* compute line segment for beam */
208   register int    lseg[2][3];
209   register HOLO   *hp;
# Line 238 | Line 264 | BYTE   r[2][2];
264                                  hp->grid[wg0[gc[i].w]];
265                  v = hp->xv[wg0[gc[i].w]];
266                  p[i][0] += d * *v++; p[i][1] += d * *v++; p[i][2] += d * *v;
267 <                d = (gc[i].i[1] + (1./256.)*(r[i][1]+.5)) /
267 >                d = ( gc[i].i[1] + (1./256.)*(r[i][1]+.5) ) /
268                                  hp->grid[wg1[gc[i].w]];
269                  v = hp->xv[wg1[gc[i].w]];
270                  p[i][0] += d * *v++; p[i][1] += d * *v++; p[i][2] += d * *v;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines