aboutsummaryrefslogtreecommitdiff
path: root/Assets/Packages/Lean/Common/Examples/Shaders/Object.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Packages/Lean/Common/Examples/Shaders/Object.shader')
-rw-r--r--Assets/Packages/Lean/Common/Examples/Shaders/Object.shader68
1 files changed, 68 insertions, 0 deletions
diff --git a/Assets/Packages/Lean/Common/Examples/Shaders/Object.shader b/Assets/Packages/Lean/Common/Examples/Shaders/Object.shader
new file mode 100644
index 0000000..9307760
--- /dev/null
+++ b/Assets/Packages/Lean/Common/Examples/Shaders/Object.shader
@@ -0,0 +1,68 @@
+Shader "Lean/Common/Object"
+{
+ Properties
+ {
+ _MainTex("Main Tex", 2D) = "white" {}
+ _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0)
+ _Color1("Color 1", Color) = (1.0, 0.5, 0.5, 1.0)
+ _Color2("Color 2", Color) = (0.5, 0.5, 1.0, 1.0)
+ _Rim("Rim", Float) = 1.0
+ _Shift("Shift", Float) = 1.0
+ }
+
+ SubShader
+ {
+ Tags
+ {
+ "Queue" = "Geometry"
+ "PreviewType" = "Sphere"
+ "DisableBatching" = "True"
+ }
+
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex Vert
+ #pragma fragment Frag
+
+ sampler2D _MainTex;
+ float4 _Color;
+ float4 _Color1;
+ float4 _Color2;
+ float _Rim;
+ float _Shift;
+
+ struct a2v
+ {
+ float4 vertex : POSITION;
+ float2 texcoord0 : TEXCOORD0;
+ float3 normal : NORMAL;
+ float4 color : COLOR;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float2 uv : TEXCOORD0;
+ float3 normal : TEXCOORD1;
+ float4 color : COLOR;
+ };
+
+ void Vert(a2v i, out v2f o)
+ {
+ o.vertex = UnityObjectToClipPos(i.vertex);
+ o.uv = i.texcoord0;
+ o.normal = mul((float3x3)UNITY_MATRIX_IT_MV, i.normal);
+ o.color = i.color * _Color;
+ }
+
+ void Frag(v2f i, out float4 o:COLOR0)
+ {
+ float rim = _Shift - pow(1.0f - normalize(i.normal).z, _Rim);
+
+ o = tex2D(_MainTex, i.uv) * lerp(_Color1, _Color2, rim) * i.color;
+ }
+ ENDCG
+ } // Pass
+ } // SubShader
+} // Shader \ No newline at end of file