I would like to alter the final pixel color after all the additive passes have been done. I thought I may be able to do this with Surface Shaders, and I saw the finalcolor
option, but that only seems to come at the end of each pass, rather than after the passes have been done.
Alternatively, is there a way to control how the results from each pass are added?
finalcolor option controls a final color for current pass, so you need to control it in each pass to get an effect you need
it’s a some expensive method to do a finalcolor for all passes - it’s a GrabPass (Unity - Manual: ShaderLab command: GrabPass) - after this pass you can do everything you want in next pass
alternatively it’s a blend options (Unity - Manual: ShaderLab command: Blend) - it controls how pixels calculated in each pass are blending with other pixels that are rendered before