Use the blend functions for transparency alone:
glEnable( GL_BLEND );
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
There are several blend functions so it might be worth reading up on them
here.
If you're looking for an aura from transparency then you could also do something in the shader based around the incoming transparency value.
Bear in mind that for making the character go behind the wall, simple depth pixel tests might suffice for that. If depth fails, you could use the incoming transparency value to write your aura over the wall. You could also just use the painters algorithm (drawing in a particular order) to bring one or the other to the front.
You may also consider a render to texture pass for the wall layer. This would allow you to read that layer into your shader as a texture so that it could be taken into account along with the transparency value as you write your final image. This would certainly let you take the wall into account as you decide which pixel to write, but it really may be overkill.
For basic transparency alone though go for the basic blending above so you don't overwork the shader. The link above may lead you to a blending equation that keeps things simple.
Edited by freakchild, 02 July 2012 - 05:47 PM.