ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/tonemap.c
(Generate patch)

Comparing ray/src/common/tonemap.c (file contents):
Revision 3.38 by greg, Wed Jan 6 19:25:00 2021 UTC vs.
Revision 3.40 by greg, Thu Jan 7 02:13:49 2021 UTC

# Line 67 | Line 67 | double gamval
67                  tmnew->mongam = gamval;
68                                                  /* set color divisors */
69          for (i = 0; i < 3; i++)
70 <                tmnew->cdiv[i] = 256.*pow(tmnew->clf[i], 1./tmnew->mongam);
70 >                tmnew->cdiv[i] = TM_BRES*pow(tmnew->clf[i], 1./tmnew->mongam);
71  
72                                                  /* set input transform */
73          tmnew->inppri = tmnew->monpri;
# Line 143 | Line 143 | MEM_PTR        dat
143                          tms->cmat[i][j] *= tms->inpsf;
144                                                  /* set color divisors */
145          for (i = 0; i < 3; i++)
146 <                tms->cdiv[i] = 256.*pow(tms->clf[i] < .001 ? .001 :
146 >                tms->cdiv[i] = TM_BRES*pow(tms->clf[i] < .001 ? .001 :
147                                                  tms->clf[i], 1./tms->mongam);
148                                                  /* notify packages */
149          for (i = tmNumPkgs; i--; )
# Line 379 | Line 379 | int    wt
379                  if (newhist == NULL)
380                          returnErr(TM_E_NOMEM);
381                  if (oldlen) {                   /* copy and free old */
382 <                        memcpy((MEM_PTR)newhist+(oldorig-horig),
382 >                        memcpy((MEM_PTR)(newhist+(oldorig-horig)),
383                                  (MEM_PTR)tms->histo, oldlen*sizeof(HIST_TYP));
384                          free((MEM_PTR)tms->histo);
385                  }
# Line 436 | Line 436 | double gamval
436                  gamval = tms->mongam;
437          d = log(expmult/tms->inpsf);
438          for (i = tms->mbrmax-tms->mbrmin+1; i--; ) {
439 <                double  val = 256. * exp(
439 >                double  val = TM_BRES * exp(
440                          ( d + (tms->mbrmin+i)*(1./TM_BRTSCALE) )
441                          / gamval);
442                  tms->lumap[i] = val >= (double)0xffff ? 0xffff : (int)val;
# Line 457 | Line 457 | double Ldmax
457          HIST_TYP        *histo;
458          float   *cumf;
459          int     brt0, histlen;
460 <        HIST_TYP        threshold, ceiling, trimmings;
460 >        HIST_TYP        threshold, ceiling, trimmings, histot;
461          double  logLddyn, Ldmin, Ldavg, Lwavg, Tr, Lw, Ld;
462        HIST_TYP        histot;
462          double  sum;
463          double  d;
464          int     i, j;
# Line 540 | Line 539 | double Ldmax
539                  d -= (double)j;
540                  Ld = Ldmin*exp(logLddyn*((1.-d)*cumf[j]+d*cumf[j+1]));
541                  d = (Ld - Ldmin)/(Ldmax - Ldmin);
542 <                tms->lumap[i] = 256.*pow(d, 1./gamval);
542 >                tms->lumap[i] = TM_BRES*pow(d, 1./gamval);
543          }
544          free((MEM_PTR)histo);           /* clean up and return */
545          free((MEM_PTR)cumf);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines