2D antialiased graphics using OpenGL

Martijn Sipkema msipkema@sipkema-digital.com
Fri, 12 Dec 2003 18:19:44 +0100


> > Another solution would be the ability to have different visuals with or
> > without gamma correction. It seems some SUN workstations have this
> > feature, but I doubt any consumer hardware supports this; they only
> > seem to support one visual really.
>
> Yeah, the problem is that cheap PC hardware has only a single LUT so only
> one kind of window would look "right" at a time.

Yes, but as Allen said this really isn't such a big loss as the case where
OpenGL
rendering is combined with rendering expecting sRGB is common.

> Of course, in the land
> of a composited desktop, we can actually make this look right as the
> compositing manager could rewrite pixel values on the way to the screen to
> map through the colormap.

I suppose one could also use an auxiliary buffer to render using OpenGL and
then convert to sRGB while writing to the front/back buffer.

> > I'm going to do some testing to see if using a gamma corrected
framebuffer
> > is really that bad.
>
> Did you manage to find a copy of Dirty Pixels to look at?  I'm sure it
> would explain things better than I can.  Of course, doing the experiment
> is easy enough; use xgamma with an XFree86 server.

I haven't read dirty pixels yet. I did experiment with xgamma and the GLUT
gamma.c example with an added black-white gradient. With my display
fully gamma corrected the resolution at dark color values was a little
coarse.

The real problem still is that most applications just seem to assume that
the
system gamma is 2.2, and things look terrible when you set it to say 1.5.
But
then I didn't do anything to let application know I was running at 1.5...
and I
don't know anything about X color management.

Still, for (OpenGL) graphics rendering I think it is correct to assume
(near)
linear RGB color values; there is not much else one _can_ do. And running
the system at 1.5 will produce much better results in that case...

--ms





--ms