This is how people usually do it:
Create a framebuffer 1
Render your triangle, and all glowy things to this framebuffer 1, but also things that should occlude the glowers.
Make sure depth testing is on.
Create another framebuffer 2 and bind this framebuffer 2.
Now take framebuffers 1 texture and do a post processing effect on it, what you probably want to do is a gaussian blur.
Bind framebuffer 0 (the one that actually draws to the screen)
Draw framebuffer 1s texture as a full screen quad
Turn on blending, make the blending equation additive
Draw framebuffer 2s texture as a full screen quad
You can achieve the pulsing in two way, either you can make the triangle less opaque when rendering to framebuffer 1, or you can modulate the resulting fragments from the gaussian blur step with some coefficient.
Of course, the level of opaqueness and the color modulation would have to depend on some period of time, eg.
final static long pulseTimePeriod = 3000;
private long pulseTime = 0;
public void update(long delta) {
pulseTime += delta;
while (pulseTime > pulseTimePeriod )
pulseTime -= pulseTimePeriod;
float ratio = pulseTime / Float.valueOf(pulseTimePeriod);
float val = Math.cos(ratio * 3.14 * 2)*0.5+0.5;
float coefficient = Math.pow(val, 2.0); //power makes it more pulsey
}
These two methods would look different from each other.