Search Unity

Question Can surface shaders do multiple passes, or does it need to be a fragment/vertex shader?

Discussion in 'Shaders' started by astracat111, May 19, 2023.

  1. astracat111

    astracat111

    Joined:
    Sep 21, 2016
    Posts:
    725
    Can surface shaders do multiple passes, or does it need to be a fragment/vertex shader?

    As a possible alternative, also, say I have a material that messes with some texels. Can I put a second material on a mesh renderer that grabs that output as it's input?
     
  2. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,343
    Yes. You can use multiple
    #pragma surface
    lines in a single SubShader, or mix fragment vertex shader passes with surface shaders.

    And you can get a previous pass's output using a grab pass. But you shouldn't as this is extremely expensive.