139 |
|
} |
140 |
|
|
141 |
|
|
142 |
< |
float * /* keep consistent with COLOR typedef */ |
142 |
> |
COLORV * |
143 |
|
greyof( /* convert color to greyscale */ |
144 |
|
COLOR col |
145 |
|
) |
224 |
|
} else if (ambounce == 0) |
225 |
|
flushintvl = ray_pnprocs*WFLUSH; |
226 |
|
else if (niflush < WFLUSH) |
227 |
< |
flushintvl = ray_pnprocs*niflush/(ambounce+1); |
227 |
> |
flushintvl = ray_pnprocs*niflush/(ambounce*(ambounce>0)+1); |
228 |
|
else |
229 |
< |
flushintvl = ray_pnprocs*WFLUSH/(ambounce+1); |
229 |
> |
flushintvl = ray_pnprocs*WFLUSH/(ambounce*(ambounce>0)+1); |
230 |
|
if (lastflush > counter) |
231 |
|
lastflush = 0; /* counter wrapped */ |
232 |
|
|
517 |
|
) |
518 |
|
{ |
519 |
|
double d; |
520 |
– |
FVECT v1; |
520 |
|
VIEW nv = ourview; |
521 |
|
int i; |
522 |
|
|
523 |
|
spinvector(nv.vdir, ourview.vdir, ourview.vup, angle*(PI/180.)); |
524 |
< |
if (elev != 0.0) { |
525 |
< |
fcross(v1, ourview.vup, nv.vdir); |
526 |
< |
normalize(v1); |
528 |
< |
spinvector(nv.vdir, nv.vdir, v1, elev*(PI/180.)); |
529 |
< |
} |
524 |
> |
if (elev != 0.0) |
525 |
> |
geodesic(nv.vdir, nv.vdir, nv.vup, elev*(-PI/180.), GEOD_RAD); |
526 |
> |
|
527 |
|
if (nv.type == VT_PAR) { |
528 |
|
nv.horiz /= mag; |
529 |
|
nv.vert /= mag; |