Search Unity

Discarded pixel exists in Normals buffer

Discussion in 'General Graphics' started by Twainxxi, Nov 14, 2017.

  1. Twainxxi

    Twainxxi

    Joined:
    Jan 27, 2014
    Posts:
    7
    Hello, everyone! Just discovered that pixels that was discarded by clip() function or by failed stencil test are still managing to get to Normals buffer. The problem is that I'm using screen space post-processing effects... I know that cutout shaders can handle this stuff properly. But how can I solve this problem in a custom shader?
     
  2. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,342
    When using the forward rendering path the _CameraDepthNormalsTexture is rendered using a replacement shader pass. That shader is the Internal-DepthNormalsTexture.shader which you can download as part of the built in shader source, and override in the Graphics settings. For any shader that uses a custom method for clipping you'll need to give it a custom RenderType and a matching pass in your custom modified Internal-DepthNormalsTexture.shader.
     
  3. Twainxxi

    Twainxxi

    Joined:
    Jan 27, 2014
    Posts:
    7