Bloom effect

Posted by Ariya Hidayat on June 29, 2008 · 4 comments

If you play games like Rainbox Six: Vegas or watch movies like Elephant Dream, you will notice the use of the so-called Bloom effect. In fact, Vegas is so bright and surrealist that this game becomes known for its Bloom overuse.

In this Graphics Dojo example, I would like to show how to render an image with the Bloom effect. This extends the previous example from Zack on making real-time glow effect. The technique: create a copy of the image, blur it, increase its brightness and then combine with the original image with a certain composition mode and opacity. Since a picture is worth a 2^10 words, I will let the following screenshot (click to enlarge) speaks for itself.

Bloom effect with Qt

The image on the left side is the original, whereas the right one shows the result of applying Bloom. As you can see, there are few sliders where you can tweak the parameter to achieve the effect that suits your taste. Different composition modes can give (not so radically) different results as well, just play around with it.

How to get it? Just do “svn checkout svn://labs.trolltech.com/svn/graphics/dojo/bloom” followed by the usual “cd bloom && qmake && make && ./bloom”. Once the main window shows up, you can also change the image by using drag-and-drop from a file on your disk or even a link from the web browser (e.g. straight from your Flickr gallery). Have fun!

QShare(this)

Possibly related posts:

  1. Some WebKit Hybrid Stuff

4 comments

1 Adam Higerd June 30, 2008 at 3:20 pm
 

The link to the image doesn’t seem to be working.

2 ariya July 1, 2008 at 11:43 am
 

@Adam Higerd: it seems to work fine for me.

3 Joel Davis July 1, 2008 at 6:37 pm
 

Is there a https:// or http:// way to get to the labs svn repository? I can’t get to svn:// where I am but http:// is proxied. Thanks.

4 ariya July 5, 2008 at 1:36 am
 

@Joel Davis: Right now we don’t provide any other way to access the repository.

Comments on this entry are closed.

Previous post:

Next post: