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

Comparing ray/src/rt/rv3.c (file contents):
Revision 2.15 by greg, Fri Jan 21 00:52:59 2005 UTC vs.
Revision 2.21 by greg, Tue Mar 11 02:21:47 2008 UTC

# Line 16 | Line 16 | static const char      RCSid[] = "$Id$";
16   #include  "random.h"
17  
18   #ifndef WFLUSH
19 < #ifdef SPEED
20 < #define WFLUSH          (5*SPEED)
21 < #else
22 < #define WFLUSH          100             /* flush after this many rays */
19 > #define WFLUSH          2048            /* flush after this many rays */
20   #endif
24 #endif
21  
22   #ifdef  SMLFLT
23   #define  sscanvec(s,v)  (sscanf(s,"%f %f %f",v,v+1,v+2)==3)
# Line 108 | Line 104 | double  *mp;
104                          return(-1);
105                  }
106                  if (!direc || ourview.type == VT_PAR) {
107 <                        rayorigin(&thisray, NULL, PRIMARY, 1.0);
107 >                        rayorigin(&thisray, PRIMARY, NULL, NULL);
108                          if (!localhit(&thisray, &thescene)) {
109                                  error(COMMAND, "not a local object");
110                                  return(-1);
# Line 170 | Line 166 | int  xmin, ymin, xmax, ymax;
166                          h/hresolu, v/vresolu)) < -FTINY) {
167                  setcolor(thisray.rcol, 0.0, 0.0, 0.0);
168          } else {
169 <                rayorigin(&thisray, NULL, PRIMARY, 1.0);
169 >                rayorigin(&thisray, PRIMARY, NULL, NULL);
170                  samplendx++;
171                  rayvalue(&thisray);
172          }
# Line 416 | Line 412 | FVECT  vc;
412                          nv.vaft += d - d*mag;
413                          if (nv.vaft <= nv.vfore) nv.vaft = 0.0;
414                  }
415 <                nv.vdist += d - d*mag;
415 >                nv.vdist /= mag;
416          }
417          for (i = 0; i < 3; i++)
418                  nv.vp[i] = vc[i] - d*nv.vdir[i];
# Line 451 | Line 447 | double  zf;
447                  vp->vert /= zf;
448                  if (vp->vert > 360.)
449                          vp->vert = 360.;
450 +                return;
451 +        case VT_PLS:                            /* planisphere fisheye */
452 +                vp->horiz = sin((PI/180./2.)*vp->horiz) /
453 +                                (1.0 + cos((PI/180./2.)*vp->horiz)) / zf;
454 +                vp->horiz *= vp->horiz;
455 +                vp->horiz = (2.*180./PI)*acos((1. - vp->horiz) /
456 +                                                (1. + vp->horiz));
457 +                vp->vert = sin((PI/180./2.)*vp->vert) /
458 +                                (1.0 + cos((PI/180./2.)*vp->vert)) / zf;
459 +                vp->vert *= vp->vert;
460 +                vp->vert = (2.*180./PI)*acos((1. - vp->vert) /
461 +                                                (1. + vp->vert));
462                  return;
463          case VT_CYL:                            /* cylindrical panorama */
464                  vp->horiz /= zf;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines