Lighting Inside a Sphere Object - Unity 5.6

Currently trying to play 360 videos inside a Unity scene. I’ve attached a VideoPlayer object to a sphere and used an Inward Shader to show the video texture inside the sphere. I’ve placed a GVRViewerMain camera object in the center of the sphere. However, when I play the scene, the inside of the sphere is too dark to see anything. I’ve placed a Point Light object inside the sphere, but it only illuminates the left eye of the GVRViewerMain camera and not the right eye. I’m pretty stumped here, any tips or advice?

I’d use an Unlit shader which is rendering the mesh inward:

Shader "Unlit/TextureInward"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100
        Cull Front

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
          
            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
          
            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                return o;
            }
          
            fixed4 frag (v2f i) : SV_Target
            {
                // sample the texture
                fixed4 col = tex2D(_MainTex, i.uv);
                return col;
            }
            ENDCG
        }
    }
}

The keyword here is “Cull Front”. If the video is inverted, adjust the scale of the sphere.

EDIT: Actually, try this one if there are distortions around the poles:

Shader "Unlit/360Shader"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "grey" {}
    }

    SubShader
    {
        Tags{ "Queue" = "Background" "RenderType" = "Background" }
        Cull Front ZWrite Off

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            sampler2D _MainTex;

            struct appdata_t
            {
                float4 vertex : POSITION;
            };

            struct v2f
            {
                float4 vertex : SV_POSITION;
                float3 texcoord : TEXCOORD0;
            };

            v2f vert(appdata_t v)
            {
                v2f o;
                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
                o.texcoord = v.vertex.xyz;
                return o;
            }

            fixed4 frag(v2f i) : SV_Target
            {
                float3 dir = normalize(i.texcoord);
                float2 longlat = float2(atan2(dir.x, dir.z) + UNITY_PI, acos(-dir.y));
                float2 uv = longlat / float2(2.0 * UNITY_PI, UNITY_PI);
                half4 tex = tex2D(_MainTex, uv);

                return tex;
            }
            ENDCG
        }
    }

    Fallback Off
}

The “Cull Front” addition worked perfectly! Thanks a lot, I really needed the help.