--- ray/src/util/rad.c 2016/06/07 16:53:19 2.125 +++ ray/src/util/rad.c 2021/01/21 21:36:28 2.128 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rad.c,v 2.125 2016/06/07 16:53:19 greg Exp $"; +static const char RCSid[] = "$Id: rad.c,v 2.128 2021/01/21 21:36:28 greg Exp $"; #endif /* * Executive program for oconv, rpict and pfilt @@ -556,9 +556,10 @@ oconv(void) /* run oconv and mkillum if necessary * return; /* make octree0 */ if ((oct0date < scenedate) | (oct0date < illumdate)) { - if (touchonly && oct0date) - touch(oct0name); - else { /* build command */ + if (touchonly && (oct0date || oct1date)) { + if (oct0date) + touch(oct0name); + } else { /* build command */ if (octreedate) sprintf(combuf, "%s%s -i %s %s > %s", c_oconv, ocopts, vval(OCTREE), @@ -583,7 +584,7 @@ oconv(void) /* run oconv and mkillum if necessary * oct0date = octreedate; if (oct0date < illumdate) /* ditto */ oct0date = illumdate; - } + } if (touchonly && oct1date) touch(oct1name); else { @@ -789,8 +790,8 @@ ambval(void) /* compute ambient value */ { if (vdef(EXPOSURE)) { if (vval(EXPOSURE)[0] == '+' || vval(EXPOSURE)[0] == '-') - return(.5/pow(2.,vflt(EXPOSURE))); - return(.5/vflt(EXPOSURE)); + return(.18/pow(2.,vflt(EXPOSURE))); + return(.18/vflt(EXPOSURE)); } if (vlet(ZONE) == 'E') return(10.); @@ -833,8 +834,12 @@ renderopts( /* set rendering options */ op = addarg(addarg(op, "-ap"), pmapf); if (atoi(bw) > 0) op = addarg(op, bw); } - if (vdef(RENDER)) + if (vdef(RENDER)) { op = addarg(op, vval(RENDER)); + bw = strstr(vval(RENDER), "-aa "); + if (bw != NULL && atof(bw+4) <= FTINY) + overture = 0; + } if (rvdevice != NULL) { if (vdef(RVU)) { if (vval(RVU)[0] != '-') {