When showing objects that represent light-sources (lamps, burning torches, etc.), it’s not uncommon I think to place a sprite depicting a circular “glow” at the location of the light-source, to give the impression of light-bloom. However, if this sprite is a simple billboarded quad, and if the light-source is placed close to a wall, the sprite can ended up clipping into the wall, resulting in an unsightly sharp edge to the “glow”.
Are there any ways within the bounds of out-of-the-box Panda functionality and the automatic shader-generator (i.e. without using custom shaders) to prevent that clipping?
I could simply set a huge depth-offset on the quad depicting the “glow”–but I fear that this could result in the light being left unclipped by geometry that should occlude it.
The problem could be easily solved if the entire quad could be given a single depth, being the depth of the quad’s origin-point–but I’m not aware of a way to do that without custom shaders.
I suppose that I could use ray-casts to every light source, and use the results of those casts to show or hide each individual glow–but that seems clunky.