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

Comparing ray/src/rt/rayinit.cal (file contents):
Revision 1.3 by greg, Wed Oct 9 11:36:45 1991 UTC vs.
Revision 2.8 by greg, Thu Dec 9 16:56:28 1993 UTC

# Line 9 | Line 9
9          Nx, Ny, Nz                      - surface normal
10          Px, Py, Pz                      - intersection point
11          T                               - distance from start
12 +        Ts                              - single ray (shadow) distance
13          Rdot                            - ray dot product
14          S                               - world scale
15          Tx, Ty, Tz                      - world origin
# Line 66 | Line 67 | noise3d(i,x,y,z) = select(i, noise3a(x,y,z), noise3b(x
67   bound(a,x,b) : if(a-x, a, if(x-b, b, x));
68   Acos(x) : acos(bound(-1,x,1));
69   Asin(x) : asin(bound(-1,x,1));
70 < Exp(x) : if(-x-60, 0, exp(x));
70 > Atan2(y,x) : if(x*x+y*y, atan2(y,x), 0);
71 > Exp(x) : if(-x-100, 0, exp(x));
72   Sqrt(x) : if(x, sqrt(x), 0);
73  
74                          { Useful constants }
# Line 91 | Line 93 | linterp(t,p0,p1) : (1-t)*p0 + t*p1;
93  
94   noop(v) = v;
95   clip(v) = bound(0,v,1);
96 < noneg(v) = max(0,v);
97 < red(r,g,b) = r;
98 < green(r,g,b) = g;
99 < blue(r,g,b) = b;
100 < grey(r,g,b) = .3*r + .59*g + .11*b;
96 > noneg(v) = if(v,v,0);
97 > red(r,g,b) = if(r,r,0);
98 > green(r,g,b) = if(g,g,0);
99 > blue(r,g,b) = if(b,b,0);
100 > grey(r,g,b) = noneg(.263*r + .655*g + .082*b);
101   clip_r(r,g,b) = bound(0,r,1);
102   clip_g(r,g,b) = bound(0,g,1);
103   clip_b(r,g,b) = bound(0,b,1);
104 < clipgrey(r,g,b) = bound(0,grey(r,g,b),1);
104 > clipgrey(r,g,b) = min(grey(r,g,b),1);
105  
106   dot(v1,v2) : v1(1)*v2(1) + v1(2)*v2(2) + v1(3)*v2(3);
107   cross(i,v1,v2) : select(i,      v1(2)*v2(3) - v1(3)*v2(2),
# Line 135 | Line 137 | turbulencec(x,y,z,s) = if( s-1.01, 0,
137  
138   un2`private(t) : t - (2.515517+t*(.802853+t*.010328))/
139                  (1+t*(1.432788+t*(.189269+t*.001308))) ;
140 < un1`private(p) : un2`private(sqrt(log(1/p/p))) ;
140 > un1`private(p) : un2`private(sqrt(-2*log(p))) ;
141  
142 < unif2norm(p) : if( .5-p, un1`private(p), -un1`private(1-p) ) ;
142 > unif2norm(p) : if( .5-p, -un1`private(p), un1`private(1-p) ) ;
143  
144   nrand(x) = unif2norm(rand(x));
145  
146                          { Local (u,v) coordinates for planar surfaces }
147   crosslen`private = Nx*Nx + Ny*Ny;
148 <                        { U is distance from origin in XY-plane }
148 >                        { U is distance from projected Z-axis }
149   U = if( crosslen`private - FTINY,
150                  (Py*Nx - Px*Ny)/crosslen`private,
151                  Px);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines