ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/test/renders/aniso.cal
(Generate patch)

Comparing ray/test/renders/aniso.cal (file contents):
Revision 1.1 by greg, Sat Nov 17 22:09:12 2018 UTC vs.
Revision 1.2 by greg, Sat Dec 1 02:06:04 2018 UTC

# Line 6 | Line 6
6   ax = arg(AC-4);         { ax is roughness in Up orientation }
7   ay = arg(AC-3);
8  
9 Up(i) = arg(AC-3+i);    { up vector does not need to be normalized }
10 Vux = cross(1,Up,N);
11 Vuy = cross(2,Up,N);
12 Vuz = cross(3,Up,N);
13 vnorm = 1/sqrt(Vux*Vux + Vuy*Vuy + Vuz*Vuz);
14 Vnx = Vux*vnorm;
15 Vny = Vuy*vnorm;
16 Vnz = Vuz*vnorm;
17 Vn(i) = select(i, Vnx, Vny, Vnz);
18 Unx = cross(1,N,Vn);
19 Uny = cross(2,N,Vn);
20 Unz = cross(3,N,Vn);
21                        { Transform vectors, normalized (dx,dy,dz) away from surf }
22 surf_dx(dx,dy,dz) = dx*Unx + dy*Uny + dz*Unz;
23 surf_dy(dx,dy,dz) = dx*Vnx + dy*Vny + dz*Vnz;
24 surf_dz(dx,dy,dz) = dx*Nx + dy*Ny + dz*Nz;
25
26 inc_dx = surf_dx(-Dx,-Dy,-Dz);
27 inc_dy = surf_dy(-Dx,-Dy,-Dz);
28 inc_dz = Rdot;
29
9   arefl(hx,hy,hz) = exp(-(hx*hx/(ax*ax) + hy*hy/(ay*ay))/(hz*hz)) *
10                          (hx*hx + hy*hy + hz*hz) /
11                          (PI*ax*ay*hz*hz*hz*hz);
# Line 34 | Line 13 | arefl(hx,hy,hz) = exp(-(hx*hx/(ax*ax) + hy*hy/(ay*ay))
13   axmit(hx,hy,hz) = exp(-(hx*hx/(ax*ax) + hy*hy/(ay*ay))/(hz*hz)) /
14                          (4*PI*ax*ay);
15  
16 < dobsdf(sdx,sdy,sdz) = if(sdz, arefl(inc_dx+sdx, inc_dy+sdy, inc_dz+sdz),
17 <                        axmit(inc_dx+sdx, inc_dy+sdy, inc_dz-sdz) / sqrt(-sdz*inc_dz) );
16 > dobsdf(sdx,sdy,sdz) = if(sdz, arefl(Idx+sdx, Idy+sdy, Idz+sdz),
17 >                        axmit(Idx+sdx, Idy+sdy, Idz-sdz) / sqrt(-sdz*Idz) );
18  
19 < absdf(ox,oy,oz) = dobsdf(surf_dx(ox,oy,oz), surf_dy(ox,oy,oz), surf_dz(ox,oy,oz));
19 > absdf(ox,oy,oz) = dobsdf(Ldx(ox,oy,oz), Ldy(ox,oy,oz), Ldz(ox,oy,oz));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines