title: Using custom shader results in black image
body: <p>I use unity 2018.3.5f1. I would like to overlay a custom shader while rendering an image. Following is my onRenderImage Function.</p>
  
  <pre><code>void OnRenderImage(RenderTexture src, RenderTexture dest) {
          // shaderMaterial renders the image with Barrel distortion and disparity effect
          Graphics.Blit(camTextureHolder.mainTexture, nullRenderTexture, shaderMaterial);
  
          // measure average frames per second
          m_FpsAccumulator++;
          if (Time.realtimeSinceStartup &gt; m_FpsNextPeriod) {
              m_CurrentFps = (int)(m_FpsAccumulator / fpsMeasurePeriod);
              m_FpsAccumulator = 0;
              m_FpsNextPeriod += fpsMeasurePeriod;
          }
      }
  </code></pre>
  
  <p>The issue is that the entire screen appears to be black while I'm trying to do so.  May I know how do I fix this issue?</p>
  
  <p>Update:</p>
  
  <p>This is the code for the shader that I'm using</p>
  
  <pre><code>Shader "Custom/FakeAR"
  {
      Properties{
          _MainTex("", 2D) = "white" {}
          [HideInInspector]_FOV("FOV", Range(1, 2)) = 1.6
          [HideInInspector]_Disparity("Disparity", Range(0, 0.3)) = 0.1
          [HideInInspector]_Alpha("Alpha", Range(0, 2.0)) = 1.0
      }
  
  SubShader{
  
      Pass{
          CGPROGRAM
          #pragma vertex vert
          #pragma fragment frag
          #include "UnityCG.cginc"
  
          struct v2f {
              float4 pos : POSITION;
              float2 uv : TEXCOORD0;
          };
  
          // Default Vertex Shader 
          v2f vert(appdata_img v) {
              v2f o;
              o.pos = UnityObjectToClipPos(v.vertex);
              o.uv = MultiplyUV(UNITY_MATRIX_TEXTURE0, v.texcoord.xy);
              return o;
          }
  
          // Parameters
          sampler2D _MainTex;
          float _FOV;
  
          // Alpha is the ratio of pixel density: width to height
          float _Alpha;
          // Disparity is the portion to separate
          // larger disparity cause closer stereovision
          float _Disparity;
  
  
          // Fragment Shader: Remap the texture coordinates to combine
          // barrel distortion and disparity video display
          fixed4 frag(v2f i) : COLOR {
              float2 uv1, uv2, uv3;
              float t1, t2;
              float offset;
  
              // uv1 is the remap of left and right screen to a full screen 
              uv1 = i.uv - 0.5;
              uv1.x = uv1.x * 2 - 0.5 + sign(i.uv.x &lt; 0.5);
  
              t1 = sqrt(1.0 - uv1.x * uv1.x - uv1.y * uv1.y);
              t2 = 1.0 / (t1 * tan(_FOV * 0.5));
  
              // uv2 is the remap of side screen with barrel distortion
              uv2 = uv1 * t2 + 0.5;
  
              // black color for out-of-range pixels
              if (uv2.x &gt;= 1 || uv2.y &gt;= 1 || uv2.x &lt;= 0 || uv2.y &lt;= 0) {
                  return fixed4(0, 0, 0, 1);
              }
              else {
                  offset = 0.5 - _Alpha * 0.5 + _Disparity * 0.5 - _Disparity * sign(i.uv.x &lt; 0.5);
                  // uv3 is the remap of image texture
                  uv3 = uv2;
                  uv3.x = uv2.x * _Alpha + offset;
                  return tex2D(_MainTex, uv3);
              }               
          }
          ENDCG
      }
  }
  FallBack "Diffuse"
  </code></pre>
  
  <p>}</p>
  
  <p>Is it because of the shader?</p>