80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' | ||
|  | 
 | ||
|  | Shader "UsayaLib/Obsolete/Outline" { | ||
|  | 	Properties { | ||
|  | 		_Color ("Main Color", Color) = (.5,.5,.5,1) | ||
|  | 		_OutlineColor ("Outline Color", Color) = (0,0,0,1) | ||
|  | 		_Outline ("Outline width", Range (0.0, 0.5)) = .005 | ||
|  | 		_MainTex ("Base (RGB)", 2D) = "white" { } | ||
|  | 	} | ||
|  |   | ||
|  | 	CGINCLUDE | ||
|  | 	#include "UnityCG.cginc" | ||
|  | 	 | ||
|  | 	struct appdata { | ||
|  | 		float4 vertex : POSITION; | ||
|  | 		float3 normal : NORMAL; | ||
|  | 	}; | ||
|  | 	 | ||
|  | 	struct v2f { | ||
|  | 		float4 pos : POSITION; | ||
|  | 		float4 color : COLOR; | ||
|  | 	}; | ||
|  | 	 | ||
|  | 	uniform float _Outline; | ||
|  | 	uniform float4 _OutlineColor; | ||
|  | 	 | ||
|  | 	v2f vert(appdata v) { | ||
|  | 		v2f o; | ||
|  | 		o.pos = UnityObjectToClipPos(v.vertex); | ||
|  | 	 | ||
|  | 		float3 norm   = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal); | ||
|  | 		float2 offset = TransformViewToProjection(norm.xy); | ||
|  | 	 | ||
|  | 		o.pos.xy += offset * _Outline; | ||
|  | 		o.color = _OutlineColor; | ||
|  | 		return o; | ||
|  | 	} | ||
|  | 	ENDCG | ||
|  |   | ||
|  | 	SubShader { | ||
|  | 		Tags { "Queue" = "Transparent" } | ||
|  |   | ||
|  | 		Pass { | ||
|  | 			Name "OUTLINE" | ||
|  | 			Tags { "LightMode" = "Always" } | ||
|  | 			Cull Front | ||
|  | 			ZWrite On | ||
|  | 			ZTest Always | ||
|  | 			ColorMask RGB // alpha not used | ||
|  |   | ||
|  | 			Blend SrcAlpha OneMinusSrcAlpha // Normal | ||
|  |   | ||
|  | 			CGPROGRAM | ||
|  | 			#pragma vertex vert | ||
|  | 			#pragma fragment frag | ||
|  | 			 | ||
|  | 			half4 frag(v2f i) :COLOR { | ||
|  | 				return i.color; | ||
|  | 			} | ||
|  | 			ENDCG | ||
|  | 		} | ||
|  | 		Pass { | ||
|  | 			Name "BASE" | ||
|  | /* | ||
|  | 			Cull Back | ||
|  | 			ZWrite On | ||
|  | 			ZTest LEqual | ||
|  | */ | ||
|  | 			ZWrite On | ||
|  | 			ZTest Always | ||
|  | 
 | ||
|  | 			SetTexture [_MainTex] { | ||
|  | 				ConstantColor [_Color] | ||
|  | 				Combine texture * constant | ||
|  | 			} | ||
|  | 		} | ||
|  | 	} | ||
|  | 	Fallback "Diffuse" | ||
|  | } |