• ### Announcements

• #### Wondering what's new and changed at GameDev.net?06/20/17

Check out the latest Staff Blog update that talks about what's changed, what's new, and what's up with these "Pixels".
Followers 0

# Light trail using GLSL

## 2 posts in this topic

Hi,

Im currently trying to make a light trail effect using GLSL. But its more like a comet tail. I did it by mixing the current frame and the previous frame. Here are the steps I'm using:

1. render the current frame normally to a texture

2. mix the texture from current frame and the previous frame (texture4) using the max value, this is the GLSL for this part:

uniform sampler2D tex1;
uniform sampler2D tex2;

uniform float deltaTime;

void main()
{

vec4 color = vec4(0.0, 0.0, 0.0, 1.0);

color.r = texture2D(tex2, gl_TexCoord[0].st).r;
color.g = texture2D(tex2, gl_TexCoord[0].st).g;
color.b = texture2D(tex2, gl_TexCoord[0].st).b;

color.r = color.r - deltaTime * 0.3;
color.g = color.g - deltaTime * 0.3;
color.b = color.b - deltaTime * 0.3;

color.r = max( texture2D(tex1, gl_TexCoord[0].st).r, color.r );
color.g = max( texture2D(tex1, gl_TexCoord[0].st).g, color.g );
color.b = max( texture2D(tex1, gl_TexCoord[0].st).b, color.b );

gl_FragColor = color;
}

since the light fades out by time, i reduce the rgb value by 0.3 per second (deltaTime is the difference between current frame and the previous, sent form c++ code. Draw the result on texture3

3. Redraw texture3 to texture4 since we are going to use this as texture4. No special code used in this one, just a normal texture rendering

texture3 would be the result to render a proper light trail effect and here is the result I have (link to youtube)

You might notice that when the object is moving, the trail looks normal. but when it stops, there's a weird fading behaviour on the tail side. Its hard to describe it, since I'm not a native, but you can easily notice it when the object stops moving.

Any idea why it happens? Any info how to render a proper light trail/comet tail effect?

0

##### Share on other sites

still no luck figuring this problem.

help anyone? :)

0

##### Share on other sites
I think that part of the problem may be that you're just using basic alpha blending, which can darken parts of the image (hence the dark crescent that appears as the trail fades), whereas a real-life light trail would always lighten the image (relative to a rendering with no trails). As far as fixing it goes, I'm not totally sure what would work best, but try using some additive blending (adding a certain fraction of the last frame to the current one) instead of averaging. You'll want to clamp the value, though; otherwise a stationary light would just keep getting brighter and brighter.
0