# How to light a colored line or simple polygon?

This topic is 1938 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I'm guessing the transparent areas are just textures with some semitransparancy (alpha) in them

behind the line, you can draw a quad with a texture with the glow.

You'd actually need 3 quads, one for each endpoint and one for the middle. (the middle will be stretched to draw different length lines, and if you stretch the whole thing, the ends will get oblong and not look that good).

Then play a bit with alpha-value for blending them to get a nice glowy effect.

##### Share on other sites

That is what is usually referred to as a 'bloom', and it is more or less just using a Gaussian filter to blur the colors.  There is a sample chapter about how a similar effect is used in the game Tron from way back in the original GPU Gems book, which you can find online now for free.  It tells you lots about how to implement such a system, and should get you on your way!

##### Share on other sites
The reason I don't think it's a proper bloom, is the circular areas with double light intensity in the corners.

Looks very much like two layers of "glow-texture".

Also, not blurring is faster (even though modern mobile devices shouldn't have a problem) Edited by Olof Hedman

##### Share on other sites

That is what is usually referred to as a 'bloom', and it is more or less just using a Gaussian filter to blur the colors.  There is a sample chapter about how a similar effect is used in the game Tron from way back in the original GPU Gems book, which you can find online now for free.  It tells you lots about how to implement such a system, and should get you on your way!

When I use the Gaussian filter to blur a line(1-2 pixels)  in the whole black background, the blurred line is dark and it's "glowing" range is small. Then I compose the tow lines, the final effect is not as clear as the game's. May be I missed something?

I haven't read the book, but I will check it later.

I'm guessing the transparent areas are just textures with some semitransparancy (alpha) in them

behind the line, you can draw a quad with a texture with the glow.

You'd actually need 3 quads, one for each endpoint and one for the middle. (the middle will be stretched to draw different length lines, and if you stretch the whole thing, the ends will get oblong and not look that good).

Then play a bit with alpha-value for blending them to get a nice glowy effect.

I have no idea with "a texture with the glow", could you give me some examples? Or you can tell me where I can find the texture? (I have already "googled" it, but can't find something useful.)

Thanks a lot.

##### Share on other sites
1-2 pixels is too little for a bloom, you need to use a bigger kernel. A way to increase the kernel "for free" is to do the blurring on a downscaled image and finally draw a re-upscaled overlay. This can also improve performance.

Here's a image you can use for the fake bloom:

Or you could do it procedurally in a pixel shader like so:

{
float2 radius = uv * 2 - 1;           // de-normalize tex-coords
}


Then use this this value e.g. for an alpha. Give it a tint for the desired color and blend additively (or alpha-additively).

This is what the tex-coords should look for the three quads.

(0,0)  (0.5, 0)       (0.5, 0)   (1,0)
..+--------+--------------+---------+
..|........|..............|.........|
..|........|..............|.........|
..|........|..............|.........|
..|........|..............|.........|
..+--------+--------------+---------+
(0,1)  (0.5, 1)       (0.5, 1)   (1,1)

I'm with Olof, this looks like a fake bloom.

##### Share on other sites

When I use the Gaussian filter to blur a line(1-2 pixels) in the whole black background, the blurred line is dark and it's "glowing" range is small. Then I compose the tow lines, the final effect is not as clear as the game's. May be I missed something?

I haven't read the book, but I will check it later.

Can you post a screenshot of what you are getting?  I think we could easily work through the issue.  I also think it would be worth your while to check out that chapter - even if you just skim through it, there is some good information in there.

##### Share on other sites

Can you post a screenshot of what you are getting?  I think we could easily work through the issue.

This is the screenshot: http://flic.kr/p/eDFLwx

I do this in GIMP:
1. I begin with a black background(layer 1).
2. Then draw the red(255, 0, 0) line (4 pixels) in the layer 2.
3. Copy layer 2 to layer 3
4. Use gaussian fliter(kernel size is 10x10) to blur the layer 2.
5. layer 3's mode is addition.

The problem is:
1. The middle red line isn't as bright as I expected. I guess it didn't blend correctly.
2. The "glowing" is also too dark.

I also think it would be worth your while to check out that chapter - even if you just skim through it, there is some good information in there.

Edited by Sachs

##### Share on other sites

1-2 pixels is too little for a bloom, you need to use a bigger kernel. A way to increase the kernel "for free" is to do the blurring on a downscaled image and finally draw a re-upscaled overlay. This can also improve performance.

Here's a image you can use for the fake bloom:

Or you could do it procedurally in a pixel shader like so:


{
float2 radius = uv * 2 - 1;           // de-normalize tex-coords
}


Then use this this value e.g. for an alpha. Give it a tint for the desired color and blend additively (or alpha-additively).

This is what the tex-coords should look for the three quads.

(0,0)  (0.5, 0)       (0.5, 0)   (1,0)
..+--------+--------------+---------+
..|........|..............|.........|
..|........|..............|.........|
..|........|..............|.........|
..|........|..............|.........|
..+--------+--------------+---------+
(0,1)  (0.5, 1)       (0.5, 1)   (1,1)

I'm with Olof, this looks like a fake bloom.

I got it! This method is easy and effective. Thanks a lot.

1. 1
2. 2
3. 3
Rutin
14
4. 4
5. 5

• 12
• 15
• 9
• 14
• 10
• ### Forum Statistics

• Total Topics
632655
• Total Posts
3007675
• ### Who's Online (See full list)

There are no registered users currently online

×