Created
January 21, 2019 11:05
-
-
Save strich/a0a962a22c7dab8d623ba1ee32ab9442 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Shader "Custom/Cutaway Test 3" { | |
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 | |
_InternalColor("Internal Color", Color) = (1,1,1,1) | |
_CutAwayOffset("Cut Away Offset", Range(0,4)) = 0.5 | |
} | |
SubShader{ | |
Tags{ "RenderType" = "Opaque" } | |
LOD 200 | |
Cull Off | |
CGPROGRAM | |
// Physically based Standard lighting model, and enable shadows on all light types | |
#pragma surface surf Standard fullforwardshadows | |
// Use shader model 3.0 target, to get nicer looking lighting | |
#pragma target 3.0 | |
sampler2D _MainTex; | |
half _Glossiness; | |
half _Metallic; | |
half _CutAwayOffset; | |
fixed4 _Color; | |
fixed4 _InternalColor; | |
struct Input { | |
float2 uv_MainTex; | |
float3 worldPos; | |
fixed facing : VFACE; | |
}; | |
void surf(Input IN, inout SurfaceOutputStandard o) { | |
clip((-IN.worldPos.y + _CutAwayOffset)); | |
if (IN.facing > 0) // front face | |
{ | |
// 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 = c.a; | |
} | |
else // backface | |
{ | |
o.Emission = _InternalColor; | |
} | |
} | |
ENDCG | |
} | |
FallBack "Diffuse" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment