Re: [Algorithms] RGB to XYZ conversion
Brought to you by:
vexxed72
From: Marco S. <mar...@gm...> - 2008-04-25 15:07:30
|
While there's no doubt that from a mathematical standpoint (linearly) interpolating colours in RGB or YCoCg doesn'tmake any difference, artifacts might be introduced by shortcuts hardware guys took while designing interpolation units for RGBA8/DXTn textures. I wonder if these artifacts are consistent on different hardware architectures. Have you guys tried to interpolate FP64 YCoCg textures or to implement bilinear filtering in the fragment shader with half or full precision math? Not that I would consider these options viable solutions :) Marco On Fri, Apr 25, 2008 at 7:38 AM, Jon Olick <jon...@gm...> wrote: > Hi Jon, > > So, thats interesting then that the bilinear interpolation of RGB colors > have artifacts. As soon as I get a chance I'll take a closer look at our > assets and both in straight up RGB and DXT5 to verify. After reading your > e-mail, I went over to Jan Pal (our local YCoCg expert) to ask him about > this very interpolation problem and he swears that the interpolation in > YCoCg is not the same as interpolation in RGB. We were looking at this about > 6 months ago now, but we very well could have made a mistake. > > Best, > Jon Olick > > > On Thu, Apr 24, 2008 at 4:54 PM, Jon Watte <hp...@mi...> wrote: > >> Willem H. de Boer wrote: >> > But, this doesn't take away from the fact that the interpolation >> > can choose colours in between (i.e. for t in [0,1]) that are >> > in some ways 'wrong' or at least counterintuitive to what >> > we would expect - which is what Jon points out. This is >> > a result of the way YCoCg maps out in colour space. >> > >> >> Note: that "Jon" was a different Jon than me :-) >> >> It actually does mean that all the interpolated colors will be the same, >> because for _any_ "a" and "b" (interpolation values, equal to t and >> 1-t), a*x + b*y equals R'(aRx +bRy), through mathematic equality. So, >> no, there would not be interpolation artifacts based on the math being >> in a different space. This is because the two spaces are linearly >> equivalent. You don't get interpolation differences until you go to a >> non-equivalent space, such as HSV, or a space with a different gamma. >> >> The interpolation of DXT compression, though, is somewhat quantized, and >> will generally result in a slight green/purple banding in RGB. That >> quantization may cause a different color banding effect in the Y Co Cg >> space, because quantization is not a linearly independent operation. >> >> Sincerely, >> >> jw >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save $100. >> Use priority code J8TL2D2. >> >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> GDAlgorithms-list mailing list >> GDA...@li... >> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list >> Archives: >> http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list > |