Archive for Sunday, August 12th, 2007

The clutter-flowers example looked so nice that I just had to free it from the (still useless, in my opinion) clutter-library, add some basic physics and a nice bloom-effect. This is the result (looks better in reality!)


The bloom-effect applies a box-blur (with radius 60) to the part of the image with a higher brightness than 0.7 and adds this to the original image after it was put through the function:

f(x) = 1.155 x - 0.655 x2 + 0.184 x3 - 0.023 x4 + 0.001 x5

Plot of f(x) in green and x in yellow

Instead of using the common fake-bloom technique, this is demo renders to a GL_FLOAT_RGBA32_NV framebuffer that is not clamped to [0;1] as usual. For very bright areas, the [0;4]-range is also too small, but an even greater one would require real tone-mapping as used for HDR-imagery.

Some original-sized side-by-side comparsions of rendering with (right) and without (left) the bloom-effect:


The code will be released through my multitouch-project as soon as it runs properly on the screen (which requires the screen to run properly again itself)