Making a additive-vertex-color based shader?

I’m pretty new with understanding shaders, and am trying to put together a vertex color based shader with an additive blend, so I can do things like glows with falloff with intent for iOS/Android.

Back when I initially made this shader the vertex colors showed up correctly in the editor and on my devices, but since then I’ve had random occurrences with it not displaying anything, to the point where now I’m lucky if I see it appear anymore. I suspect there’s something simple I’m missing that I’m just not aware of?

Shader "Custom/Baked Vertex Lighting/Vertex Additive Lit" {

Properties {
    _Color ("Main Color", Color) = (1,1,1,1)
}

SubShader {
    Pass {
		Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
		Blend One One   
		Cull Off 
		Lighting Off 
		ZWrite Off 
		Fog { Color (0,0,0,0) } 
        ColorMaterial Emission 
		
        SetTexture [_MainTex] {
            constantColor [_Color]
            Combine previous * constant DOUBLE, previous * constant
        } 
    }

}
Fallback " VertexLit", 1
}

Any insight will help me greatly!

I’ve also noticed in the Editor if I set the graphics emulation to OpenGL ES 1.x the additive polys will appear, but not if I set it to OpenGL ES 2.0.

last ditch effort threadbump

The unity mobile/particles/additive:

// Simplified Additive Particle shader. Differences from regular Additive Particle one:
// - no Tint color
// - no Smooth particle support
// - no AlphaTest
// - no ColorMask


Shader "Mobile/Particles/Additive" {
Properties {
    _MainTex ("Particle Texture", 2D) = "white" {}
}


Category {
    Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
    Blend SrcAlpha One
    Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) }
    
    BindChannels {
        Bind "Color", color
        Bind "Vertex", vertex
        Bind "TexCoord", texcoord
    }
    
    SubShader {
        Pass {
            SetTexture [_MainTex] {
                combine texture * primary
            }
        }
    }
}
}

Not sure what you want different? setting Blend to One One would eliminate the need to use an alpha channel as well. If you’re using additive with One One you just control brightness of RGB.

That does work pretty well, but I remember now I need to be able to over-ride the baked vertex colors with a color from the shader. That was my primary reason for trying to fumble around with this shader.

Alright so I took the particle additive shader and tweaked it with the stuff I was doing, and that seems to work fine now.

Shader "Custom/Baked Vertex Lighting/Vertex Additive Lit"
{
	Properties {
	    _Color ("Main Color", Color) = (1,1,1,1)
	}
	
	Category 
	{
	    Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
	    Blend SrcAlpha One
	    Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) }
	
	    BindChannels 
	    {
	        Bind "Color", color
	        Bind "Vertex", vertex
	        Bind "TexCoord", texcoord
	    }
	
	    SubShader
	    {
	        Pass
	        {
		        SetTexture [_MainTex] 
		        {
		        constantColor [_Color]
		        Combine previous * constant DOUBLE, previous * constant
	        	}
	
	    	}
	    }
	}
}

Thanks for steering me in the right direction hippo!