Floating point PBuffer on ATI cards

I’m trying to create a 16 or 32 bits floating point PBuffer. It works well on NVidia cards, but i can’t get it working on ATI cards.

I’m using the WGL_ATI_pixel_format_float extension to setup the PBuffer. When i clear the pbuffer and do a glReadPixels, the value i read are clamped to 0-1.

I downloaded Mark Harris PBuffer’s class & samples (Mark Harris' Real-Time Graphics Research) and they do not seem to work either. This was tested on a Radeon 9700 Pro and on an X850 XT.

Any help is appreciated, thanks.


I’ve verified the problem and filed a report on it. Apparently the clamped glClearColor value is used in the clear instead of the unclamped. In the meantime, if you need to clear outside the [0, 1] range you can draw a quad over the entire surface. (But clear the depth buffer with glClear() though)

Thanks Humus. Actually i shouldn’t need it. A sky box will do the trick, but i wondered if that behavior was normal or not.


This bug has now been fixed and should appear in a future driver.