forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*
 | 
						|
This shader is used to render the impostor while clearing out the alpha of the eye buffer
 | 
						|
The important details here are:
 | 
						|
- the use of the Geometry+1 queue to make sure the impostor is drawn after all other opaque objects but before alpha
 | 
						|
- the keepalpha parameter that allow unity to actually write the alpha we return at the end of the shader.
 | 
						|
*/
 | 
						|
 | 
						|
Shader "Oculus/Underlay Impostor" {
 | 
						|
    Properties{
 | 
						|
        _Color("Color", Color) = (1,1,1,1)
 | 
						|
        _MainTex("Albedo (RGB)", 2D) = "white" {}
 | 
						|
        _Glossiness("Smoothness", Range(0,1)) = 0.5
 | 
						|
        _Metallic("Metallic", Range(0,1)) = 0.0
 | 
						|
    }
 | 
						|
        SubShader{
 | 
						|
            Tags { "Queue" = "Geometry+1" "RenderType" = "Opaque" }
 | 
						|
            LOD 200
 | 
						|
 | 
						|
            CGPROGRAM
 | 
						|
            // Physically based Standard lighting model, and enable shadows on all light types
 | 
						|
            #pragma surface surf Standard fullforwardshadows keepalpha
 | 
						|
 | 
						|
            // Use shader model 3.0 target, to get nicer looking lighting
 | 
						|
            #pragma target 3.0
 | 
						|
 | 
						|
            sampler2D _MainTex;
 | 
						|
 | 
						|
            struct Input {
 | 
						|
                float2 uv_MainTex;
 | 
						|
            };
 | 
						|
 | 
						|
            half _Glossiness;
 | 
						|
            half _Metallic;
 | 
						|
            fixed4 _Color;
 | 
						|
 | 
						|
            void surf(Input IN, inout SurfaceOutputStandard o) {
 | 
						|
                // Albedo comes from a texture tinted by color
 | 
						|
                fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 | 
						|
                o.Albedo = c.rgb;
 | 
						|
                // Metallic and smoothness come from slider variables
 | 
						|
                o.Metallic = _Metallic;
 | 
						|
                o.Smoothness = _Glossiness;
 | 
						|
                o.Alpha = 0.f;
 | 
						|
            }
 | 
						|
            ENDCG
 | 
						|
        }
 | 
						|
            FallBack "Diffuse"
 | 
						|
}
 |