- Home /
How to use shader depth buffer offset in android on unity 5
I have a shader that needs to be pushed back a level in the depth buffer so i can draw a line mesh on top of it with the same vertex coordinates. It used to work perfectly in previous version of unity, but in unity5 when i build my app to android it acts weirdly pushing objects through each other. The shader works in the editor but not on the build. Has something changed in the depth buffer? I remember there was a setting "use 24-bit depth buffer" for android in previous versions but not sure if that made a difference.
Heres the shader source, it simply has the Offset value 1,1 to push back a level in the depth buffer.
Shader "Cartoon/Lighted Tex -1" { Properties { _Color ("Main Color", Color) = (0.5,0.5,0.5,1) _MainTex ("Base (RGB)", 2D) = "white" {} _Ramp ("Toon Ramp (RGB)", 2D) = "gray" {} }
SubShader {
ZWrite On
Offset 1,1 //?
Tags {"Queue"="Geometry" "RenderType"="Opaque" }
LOD 200
CGPROGRAM #pragma surface surf ToonRamp
sampler2D _Ramp;
// custom lighting function that uses a texture ramp based // on angle between light direction and normal #pragma lighting ToonRamp exclude_path:prepass inline half4 LightingToonRamp (SurfaceOutput s, half3 lightDir, half atten) { #ifndef USING_DIRECTIONAL_LIGHT lightDir = normalize(lightDir); #endif
half d = dot (s.Normal, lightDir)*0.5 + 0.5;
half3 ramp = tex2D (_Ramp, float2(d,d)).rgb;
half4 c;
c.rgb = s.Albedo * _LightColor0.rgb * ramp * (atten * 2);
c.a = 0;
return c;
}
sampler2D _MainTex; float4 _Color;
struct Input { float2 uv_MainTex : TEXCOORD0; };
void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG
}
Fallback "Diffuse"
}
Your answer
Follow this Question
Related Questions
Radial Blur for Android/iOS 0 Answers
UI leads to game crash 1 Answer
UI CustomShader disappears when Android losing focus 0 Answers
Shader not working correctly on android 1 Answer
This shader (or Image Effect) is not working on Android 0 Answers