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

Comparing ray/src/common/spec_rgb.c (file contents):
Revision 2.17 by greg, Mon Nov 2 23:45:11 2009 UTC vs.
Revision 2.23 by greg, Fri May 20 02:06:38 2011 UTC

# Line 38 | Line 38 | float  xyneu[2] = {1./3., 1./3.};      /* neutral xy chroma
38   #define  INCWL          10              /* wavelength increment */
39   #define  NINC           40              /* # of values */
40  
41 < static BYTE  chroma[3][NINC] = {
41 > static uby8  chroma[3][NINC] = {
42          {                                                       /* X */
43                  0,   0,   0,   2,   6,   13,  22,  30,  36,  41,
44                  42,  43,  43,  44,  46,  52,  60,  71,  87,  106,
# Line 241 | Line 241 | colorprimsOK(                  /* are color primaries reasonable? */
241   RGBPRIMS  pr
242   )
243   {
244 <        int     i;
244 >        int     i, j;
245          
246 <        for (i = 0; i < 4; i++) {
247 <                if ((pr[i][CIEX] <= -CEPS) | (pr[i][CIEY] <= -CEPS))
246 >        for (i = 0; i < 3; i++) {
247 >                if ((pr[i][CIEX] <= -1.) | (pr[i][CIEY] <= -1.))
248                          return(0);
249 <                if ((pr[i][CIEX] >= 1.+CEPS) | (pr[i][CIEY] >= 1.+CEPS))
249 >                if ((pr[i][CIEX] >= 2.) | (pr[i][CIEY] >= 2.))
250                          return(0);
251 <                if (pr[i][CIEX] + pr[i][CIEY] >= 1.+CEPS)
251 >                if (pr[i][CIEX] + pr[i][CIEY] <= -1.)
252                          return(0);
253 +                if (pr[i][CIEX] + pr[i][CIEY] >= 2.)
254 +                        return(0);
255          }
256 +        if ((pr[3][CIEX] <= 0.) | (pr[3][CIEX] >= 1.) |
257 +                        (pr[3][CIEY] <= 0.) | (pr[3][CIEY] >= 1.))
258 +                return(0);
259 +        for (i = 0; i < 4; i++)
260 +                for (j = i+1; j < 4; j++)
261 +                        if (CEQ(pr[i][CIEX],pr[j][CIEX]) &&
262 +                                        CEQ(pr[i][CIEY],pr[j][CIEY]))
263 +                                return(0);
264          return(1);
265   }
266  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines