Been working on shaders for mobile and have gotten a few alpha and multiplicative shaders working, but this additve shader always fails when i test it on my nexus7, even know it works with the opengl es 2 emulation
Shader "DragonHill/Mobile/PowerUpShader" {
Properties {
_Color("Color", Color) = (0, 0, 1, 1)
_Intensity("Intensity", Float) = 1
_RimPower("Rim Power", Range(0.5, 8.0)) = 2.0
}
SubShader {
Tags {"Queue"="Transparent" "RenderType" = "Transparent" "IgnoreProjector"="True" "Bent"="Bent"}
LOD 200
ZWrite Off
ColorMask RGB
Blend SrcAlpha One
Lighting Off
Pass {
Tags { "LightMode" = "ForwardBase" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#pragma target 2.0
struct v2f {
float4 pos : SV_POSITION;
float3 viewdir : TEXCOORD0;
float3 norm : TEXCOORD1;
};
fixed4 _Color;
float _RimPower = 5;
float _Intensity;
float _XTransform;
float _YTransform;
v2f vert(appdata_full v)
{
v2f o;
float4 vv = mul(_Object2World, v.vertex);
vv.xyz -= _WorldSpaceCameraPos.xyz;
vv = float4((vv.z * vv.z) * 0.00005 * _XTransform, (vv.z * vv.z) * 0.00005f * _YTransform, 0.0f, 0.0f);
v.vertex += mul(_World2Object, vv);
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
o.norm = v.normal;
o.viewdir = ObjSpaceViewDir( v.vertex );
return o;
}
float4 frag(v2f IN) : COLOR
{
half rim = 1 - saturate(dot(normalize(IN.viewdir), IN.norm));
rim = pow(rim, _RimPower);
_Color = _Color * _Intensity * rim;
return _Color;
}
ENDCG
}
}
FallBack "Diffuse"
}
Ya one have similar issues, or does anyone know a way around this.
It seems to just fall back to the fallback shader everytime i run on mobile