Hi,
I am working on a blur example by using multiple FBOs. The program will makes objects blur when the object’s color components are set greater than 1.0.
For example,
glColor3f( 2.0, 2.0, 2.0 );
glutSolidCube(1.0);
glColor3f( .5, .5, .5 );
glutSolidCube(1.0);
The first cube is going to be blurred.
The 3D rendering happens in a framebuffer object, so I can use the texture in the FBO to generate blur effects. Shaders are used to manipulate the texture. I try to make the shaders identify which fragments need to be blurred by its rgb values. If all the values are greater than 1.0, than the fragment need to be blurred.
The problem is in fragment shader, gl_Color is already clamped, even the rgb values are set greater than 1.0 in OpenGL program. So I found that ARB_color_buffer_float can make the rgb values in OpenGL program un-clamped. However, my Mobility Radeon 9600 does not support it. Wondering is there any other way to transfer the un-clamped values from OpenGL program to shaders?