Is there a way to get OGL to work w/ ICC profiles?
What is an ICC?
ICC profiles is a way of getting consistent color across diffenent devices. See http://www.color.org/
So, in theory, you can create an ICC profile for your monitor ( one example can be found here http://www.colorvision.com ) and another one for your printer and then when you print a picture the color on the hard copy should match the color on the monitor. However, applications must be ICC aware to take advantage of this.
GLSL opens numerous possibilities in the area of imaging but to do any “serious” work the app would have to be able to use ICC profiles.
Searching opengl.org shows that ICC profiles were briefly mentined in a 1996 ARB meeting. Was anything ever done?
I think your monitor is assumed to be a display device with an sRGB profile.
You can change this by adjusting the LUT on your card, various software exists to do this, Adobe Photoshop can help callibrate crudely (mainly to produce sRGB on variable monitors I think). Color profile software exists either to work inside software to adjust images or to adjust the color output by your graphics card to compensate for your monitor.
I know the NVIDIA card in my current system has a color profile to match my monitor (I just checked), I’m pretty sure the “right” thing to try to shoot for an sRGB output on a PC. TO do more would require additional callibration software but it is supported.
It’s a bit debatable whether OpenGL is the right place for this, it should probably be a display function when you consider all the linear arithmetic in the pipeline.