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

Comparing ray/src/rt/rtrace.c (file contents):
Revision 1.2 by greg, Wed Mar 15 13:47:57 1989 UTC vs.
Revision 1.7 by greg, Thu Jan 4 11:16:05 1990 UTC

# Line 16 | Line 16 | static char SCCSid[] = "$SunId$ LBL";
16   *      xorg    yorg    zorg    xdir    ydir    zdir
17   *
18   *  The direction need not be normalized.  Output is flexible.
19 + *  If the direction vector is (0,0,0), then the output is flushed.
20   *  All values default to ascii representation of real
21   *  numbers.  Binary representations can be selected
22   *  with '-ff' for float or '-fd' for double.  By default,
# Line 35 | Line 36 | int  hresolu = 0;                      /* horizontal (scan) size */
36   int  vresolu = 0;                       /* vertical resolution */
37  
38   double  dstrsrc = 0.0;                  /* square source distribution */
39 + double  shadthresh = .05;               /* shadow threshold */
40 + double  shadcert = .5;                  /* shadow certainty */
41  
42   int  maxdepth = 6;                      /* maximum recursion depth */
43   double  minweight = 4e-3;               /* minimum ray weight */
44  
45   COLOR  ambval = BLKCOLOR;               /* ambient value */
46   double  ambacc = 0.2;                   /* ambient accuracy */
47 < int  ambres = 128;                      /* ambient resolution */
47 > int  ambres = 32;                       /* ambient resolution */
48   int  ambdiv = 128;                      /* ambient divisions */
49   int  ambssamp = 0;                      /* ambient super-samples */
50   int  ambounce = 0;                      /* ambient bounces */
# Line 92 | Line 95 | char  *fname;
95          while (getvec(orig, inform, fp) == 0 &&
96                          getvec(direc, inform, fp) == 0) {
97  
98 <                if (normalize(direc) == 0.0)
99 <                        error(USER, "zero direction vector");
98 >                if (normalize(direc) == 0.0) {          /* zero ==> flush */
99 >                        fflush(stdout);
100 >                        continue;
101 >                }
102                                                          /* compute and print */
103                  if (outvals[0] == 'i')
104                          irrad(orig, direc);
105                  else
106                          radiance(orig, direc);
107 <                                                        /* flush if requested */
107 >                                                        /* flush if time */
108                  if (--nextflush == 0) {
109                          fflush(stdout);
110                          nextflush = hresolu;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines