The only thing I can think of right now is this:
1) Blend-Add the 'tiles' (I say tiles, but it's just one big texture);
2) Alpha blend in the glow, it now goes over the edge, but...
3) Write a shader that takes in the entire generated *texture (Edit: drawable sprite) and completely zeros everything with an alpha value less than 1. I was just hoping there was a better way without having to generate an intermediary texture, because now I need to call the draw function to draw everything to a RenderTexture, and again to draw that result to another RenderTexture, and then again to draw the final texture to the window.
Edit: so maybe something like this:
uniform sampler2D texture;
void main() {
vec4 pixel = texture2D(texture, gl_TexCoord[0].xy);
if (pixel.a < 1.0) {
gl_FragColor = pixel * vec4(1.0, 1.0, 1.0, 0.0);
}
else {
gl_FragColor = pixel * vec4(1.0, 1.0, 1.0, 1.0);
}
}