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 2.17 by greg, Thu Jan 18 19:43:43 2018 UTC vs.
Revision 2.18 by greg, Fri Nov 30 18:43:57 2018 UTC

# Line 168 | Line 168 | U = if( crosslen`P. - FTINY,
168   V = if( crosslen`P. - FTINY,
169                  Pz - Nz*(Px*Nx + Py*Ny)/crosslen`P.,
170                  Py);
171 +
172 +                        { Local hemisphere direction for *func & *data types }
173 +                        { last 3 real args = unnormalized up-vector }
174 + Vux`P. = arg(AC-1)*NzP - arg(AC)*NyP;
175 + Vuy`P. = arg(AC)*NxP - arg(AC-2)*NzP;
176 + Vuz`P. = arg(AC-2)*NyP - arg(AC-1)*NxP;
177 + vnorm`P. = 1/sqrt(Vux`P.*Vux`P. + Vuy`P.*Vuy`P. + Vuz`P.*Vuz`P.);
178 + Vnx`P. = Vux`P.*vnorm`P.;
179 + Vny`P. = Vuy`P.*vnorm`P.;
180 + Vnz`P. = Vuz`P.*vnorm`P.;
181 + Unx`P. = NyP*Vnz`P. - NzP*Vny`P.;
182 + Uny`P. = NzP*Vnx`P. - NxP*Vnz`P.;
183 + Unz`P. = NxP*Vny`P. - NyP*Vnx`P.;
184 +                        { Transform vectors, normalized (dx,dy,dz) away from surf }
185 + Ldx(dx,dy,dz) = dx*Unx`P. + dy*Uny`P. + dz*Unz`P.;
186 + Ldy(dx,dy,dz) = dx*Vnx`P. + dy*Vny`P. + dz*Vnz`P.;
187 + Ldz(dx,dy,dz) = dx*NxP + dy*NyP + dz*NzP;
188 +                        { Incident vector transformed to our coords }
189 + Idx = Ldx(-Dx,-Dy,-Dz);
190 + Idy = Ldy(-Dx,-Dy,-Dz);
191 + Idz = RdotP;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines