Alpha Cutout Shadows in Deferred

Hello,

I’m currently working on a deferred pipeline. So far everything works well except that I have a huge difficulty getting alpha cutout shadows to work.

My current setup :

I have a uber shader with different options, with a custom vertex shader for displacement and I’m using a surface shader for passing all the info to the rest of the pipeline.

I tried renaming my alpha cutout properties to _Cutoff and _MainTex (so it fits with the internal depth normal shader), I tried creating my own depth normal shader, nothing seems to change the result. I have an alpha cutout looking mesh, with a whole shadow :confused:

I know it would be possible to create a variation of that shader in forward for the specific case we need cutout, but since we may end up having a lot of vegetation, I would like to stay in our pipeline.

Anyone knows how to handle Alpha Cutout (or Transparent Cutout) for shadows, in deferred?

Ideally, I would like it even more if I could have my own depth normal shader to work with the deferred pipeline, but it feels like it doesn’t change anything :confused:

Looking at a cutout shader in my project, which uses the deferred rendering pipeline…

    Tags
    {
        "Queue" = "AlphaTest"
        "RenderType" = "TransparentCutout"
        "IgnoreProjector" = "True"
    }
#pragma surface surf Lambert vertex:vert alphatest:_Cutoff addshadow nometa nolightmap nodynlightmap nodirlightmap

Notice alphatest and addshadow, see here

Fallback "Legacy Shaders/Transparent/Cutout/VertexLit"

These seem to be the things that differ from a regular opaque shader in my project.

alphatest and addshadow does the trick :smile: thanks! I was using a custom clip before. I’m surprised that it follows up with my custom “main” texture though, I thought I would’ve needed to rename all for _MainTex. Anyways, it solves my issue, thanks again :slight_smile: