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

Comparing ray/src/px/pcond4.c (file contents):
Revision 3.1 by greg, Thu Oct 3 16:52:51 1996 UTC vs.
Revision 3.2 by greg, Thu Oct 3 20:14:20 1996 UTC

# Line 22 | Line 22 | static COLOR   *veilimg;               /* veiling image */
22  
23   #define veilscan(y)     (veilimg+(y)*fvxr)
24  
25 < static FVECT    *raydir = NULL;         /* ray direction for each pixel */
25 > static float    (*raydir)[3] = NULL;    /* ray direction for each pixel */
26  
27   #define rdirscan(y)     (raydir+(y)*fvxr)
28  
29  
30   compraydir()                            /* compute ray directions */
31   {
32 <        FVECT   rorg;
32 >        FVECT   rorg, rdir;
33          double  h, v;
34          register int    x, y;
35  
36          if (raydir != NULL)             /* already done? */
37                  return;
38 <        raydir = (FVECT *)malloc(fvxr*fvyr*sizeof(FVECT));
38 >        raydir = (float (*)[3])malloc(fvxr*fvyr*3*sizeof(float));
39          if (raydir == NULL)
40                  syserror("malloc");
41  
# Line 61 | Line 61 | compraydir()                           /* compute ray directions */
61                          case YDECR: case YDECR|XDECR:
62                                  v = 1. - (x+.5)/fvxr; break;
63                          }
64 <                        if (viewray(rorg, rdirscan(y)[x], &ourview, h, v)
65 <                                        < -FTINY) {
64 >                        if (viewray(rorg, rdir, &ourview, h, v)
65 >                                        >= -FTINY) {
66 >                                rdirscan(y)[x][0] = rdir[0];
67 >                                rdirscan(y)[x][1] = rdir[1];
68 >                                rdirscan(y)[x][2] = rdir[2];
69 >                        } else {
70                                  rdirscan(y)[x][0] =
71                                  rdirscan(y)[x][1] =
72                                  rdirscan(y)[x][2] = 0.0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines