Interesting. What exactly do you mean by "semi-transparent"? The problem I have is that I want to blend an object in with its environment based on z-depth (essentially making it fade out the closer it is to the surface behind), but the only way to access the depth buffer is in the transparent queue. However, putting an object in the transparent queue makes it unable to receive shadows. This is my problem. (The object doesn't even need to use alpha at all, it could simply use GrabPass and lerp to its color based on depth. The problem is in order to access depth, it needs transparent pass, and transparent pass removes shadow reception.) Would your custom solution work for this scenario?