- Home /
 
Custom shader works in Unity but broken on ios/android
I am using a shader (that uses transparency) that samples from a texture radially to produce concentric circles on a quad. In the Unity preview, and exporting to standalone mac/windows apps, a quad that is coloured with the shader looks fine. However, on android or iphone devices, the shader is a uniform semi-transparent washed-out white colour. Any clues as to how to get it working would be much appreciated. The shader script is the following
 Shader "Custom/RadialRings" {
      Properties {
          _MainTex ("Base (RGB)", 2D) = "white" {}
      }
      SubShader {
          Tags { "RenderType"="Transparent" "Queue"="Transparent" "IgnoreProjector"="True" "ForceNoShadowCasting"="True"}
          LOD 200
          Lighting Off
          ZWrite Off
          Blend SrcAlpha OneMinusSrcAlpha
          
          Pass {
          CGPROGRAM
          #pragma vertex vs
          #pragma fragment fs
          #include "UnityCG.cginc"
          
          sampler2D _MainTex;
          float4 _MainTex_ST;
          
          struct v2f {
              float4 position : SV_POSITION;
              float2 uv    : TEXCOORD0;
          };
          
          v2f vs(appdata_base v) {
              v2f o;
              
              o.position = mul(UNITY_MATRIX_MVP, v.vertex);
              
              o.uv = v.texcoord - 0.5f;            
                          
              return o;
          }
          
          fixed4 fs(v2f i) : COLOR {
          
              float bloatFactor = 2.5;
              //float radialFunction = bloat/(log(1-length(i.uv))+bloat);
               //float radialFunction = -3f*(pow(length(i.uv),2.3));
               //float radialFunction = -10f * pow(10,bloatFactor*1.2f*length(i.uv)-bloatFactor);
               float radialFunction = -length(i.uv);//-10f * pow(10,bloatFactor*1.2f*length(i.uv)-bloatFactor);
 
 
              
              float2 radialLookup = float2(radialFunction, 0.0f);
              
              return tex2D(_MainTex, TRANSFORM_TEX(radialLookup, _MainTex));
          }
          
          ENDCG
          }
      } 
      FallBack "Diffuse"
  }
 
              
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
Why is shader behavior different between Android and iOS? 1 Answer
Radial Blur for Android/iOS 0 Answers
My shader works on desktop, but black screen on Android. 0 Answers
Mobile problems with reflective/vertexlit shader. 0 Answers
Wand Magic Tool 0 Answers