Quoting Richard Hughes <hughsi...@gmail.com>: > I'm playing around with using a ClutterShader to do full screen color > management using GLSL on the GPU. I'm aiming to integrate the > functionality into future versions of mutter for GNOME 3.
Hi, if you can implement tetrahedral interpolation as a shader, you can make color transforms to fly. The basis are not too complex, you need to create a color transform from/to RGB first, Then by using cmsSliceSpaceFloat(), build a 3D lookup table by evaluating your tranform on each node. Then upload this table plus the image to convert into GPU memory. 3D table of 17 points is enough for all but hardly non-linear color spaces. 33 points should be enough for everything. As long as the color transform is same (sRGB to monitor, for example) you can reuse same table. Color transform may involve any intent and many profiles, softproofing for example. Don't waste time implementing prelinearizations or weird things, give first a try to this simple 17-points table. If tetrahedral is hard to implement for you due to tetrahedra subdivision, use triliner instead. Good luck. I know for sure this can be done and I know for sure that it works. Regards Marti ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user