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

Comparing ray/src/common/tmapcolrs.c (file contents):
Revision 3.21 by greg, Sat Sep 24 20:15:54 2005 UTC vs.
Revision 3.24 by greg, Thu May 18 01:58:18 2006 UTC

# Line 89 | Line 89 | int    len
89                  li =    cd->clfb[RED]*cmon[RED] +
90                          cd->clfb[GRN]*cmon[GRN] +
91                          cd->clfb[BLU]*cmon[BLU] ;
92 <                if (li >= 0xff00) li = 255;
93 <                else li >>= 8;
94 <                if (li <= 0) {
95 <                        bi = TM_NOBRT;                  /* bogus value */
96 <                        li = 1;                         /* avoid li==0 */
97 <                } else {
98 <                        bi = BRT2SCALE(cmon[EXP]-COLXS) +
99 <                                logi[li] + cd->inpsfb;
92 >                if (li >= 0xfff00) li = 255;
93 >                else li >>= 12;
94 >                bi = BRT2SCALE(cmon[EXP]-COLXS) + cd->inpsfb;
95 >                if (li > 0)
96 >                        bi += logi[li];
97 >                else {
98 >                        bi += logi[0];
99 >                        li = 1;                         /* avoid /0 */
100                  }
101                  ls[i] = bi;
102                  if (cs == TM_NOCHROM)                   /* no color? */
# Line 123 | Line 123 | int    len
123                          for (j = 3; j--; )
124                                  if (cmon[j] < 0) cmon[j] = 0;
125                  }
126 <                bi = ( (int32)GAMTSZ*cd->clfb[RED]*cmon[RED]/li ) >> 8;
126 >                bi = ( (int32)GAMTSZ*cd->clfb[RED]*cmon[RED]/li ) >> 12;
127                  cs[3*i  ] = bi>=GAMTSZ ? 255 : cd->gamb[bi];
128 <                bi = ( (int32)GAMTSZ*cd->clfb[GRN]*cmon[GRN]/li ) >> 8;
128 >                bi = ( (int32)GAMTSZ*cd->clfb[GRN]*cmon[GRN]/li ) >> 12;
129                  cs[3*i+1] = bi>=GAMTSZ ? 255 : cd->gamb[bi];
130 <                bi = ( (int32)GAMTSZ*cd->clfb[BLU]*cmon[BLU]/li ) >> 8;
130 >                bi = ( (int32)GAMTSZ*cd->clfb[BLU]*cmon[BLU]/li ) >> 12;
131                  cs[3*i+2] = bi>=GAMTSZ ? 255 : cd->gamb[bi];
132          }
133          returnOK;
# Line 431 | Line 431 | register TMstruct      *tms;
431  
432          cd = (COLRDATA *)tms->pd[colrReg];
433          for (i = 3; i--; )
434 <                cd->clfb[i] = 0x100*tms->clf[i] + .5;
435 <        d = TM_BRTSCALE*log(tms->inpsf);
436 <        cd->inpsfb = d<0. ? d-.5 : d+.5;
434 >                cd->clfb[i] = 0x1000*tms->clf[i] + .5;
435 > fprintf(stderr, "(%d %d %d)\n", cd->clfb[0], cd->clfb[1], cd->clfb[2]);
436 >        cd->inpsfb = tmCvLuminance(tms->inpsf);
437          for (i = 3; i--; )
438                  for (j = 3; j--; ) {
439                          d = tms->cmat[i][j] / tms->inpsf;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines