Edwarddv

Untitled

Jan 16th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.18 KB | None | 0 0
  1. // Shader created with Shader Forge v1.26
  2. // Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
  3. // Note: Manually altering this data may prevent you from opening it in Shader Forge
  4. /*SF_DATA;ver:1.26;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,lico:1,lgpr:1,limd:1,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:False,rmgx:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:0,bsrc:0,bdst:1,dpts:2,wrdp:True,dith:0,rfrpo:True,rfrpn:Refraction,coma:15,ufog:True,aust:False,igpj:True,qofs:500,qpre:2,rntp:1,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.5,fgcg:0.5,fgcb:0.5,fgca:1,fgde:0.01,fgrn:0,fgrf:300,stcl:False,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:False,fnfb:False;n:type:ShaderForge.SFN_Final,id:3819,x:33263,y:32669,varname:node_3819,prsc:2|emission-486-OUT,clip-2851-OUT,voffset-8002-OUT;n:type:ShaderForge.SFN_Color,id:2852,x:32452,y:32663,ptovrint:False,ptlb:Color,ptin:_Color,varname:node_2852,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.5019608,c2:0.5019608,c3:1,c4:1;n:type:ShaderForge.SFN_Fresnel,id:3471,x:31578,y:33087,varname:node_3471,prsc:2;n:type:ShaderForge.SFN_Step,id:8196,x:32016,y:33109,varname:node_8196,prsc:2|A-5237-OUT,B-3471-OUT;n:type:ShaderForge.SFN_Multiply,id:8189,x:32535,y:32923,varname:node_8189,prsc:2|A-2852-A,B-8196-OUT;n:type:ShaderForge.SFN_Slider,id:5237,x:31605,y:33414,ptovrint:False,ptlb:Hard Cutoff,ptin:_HardCutoff,varname:node_5237,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:0.5,max:1;n:type:ShaderForge.SFN_Multiply,id:486,x:32756,y:32528,varname:node_486,prsc:2|A-6775-OUT,B-2852-RGB;n:type:ShaderForge.SFN_ValueProperty,id:6775,x:32559,y:32509,ptovrint:False,ptlb:Brightness Multiplier,ptin:_BrightnessMultiplier,varname:node_6775,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_DepthBlend,id:6847,x:31034,y:33060,varname:node_6847,prsc:2|DIST-9466-OUT;n:type:ShaderForge.SFN_ValueProperty,id:9466,x:30778,y:33016,ptovrint:False,ptlb:Depth Distance,ptin:_DepthDistance,varname:node_9466,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_Add,id:9659,x:32807,y:32762,varname:node_9659,prsc:2|A-1548-OUT,B-8189-OUT;n:type:ShaderForge.SFN_NormalVector,id:614,x:32484,y:33302,prsc:2,pt:False;n:type:ShaderForge.SFN_RemapRange,id:7643,x:32659,y:33432,varname:node_7643,prsc:2,frmn:0,frmx:1,tomn:-3.5,tomx:0|IN-9543-OUT;n:type:ShaderForge.SFN_Noise,id:9283,x:33203,y:33728,varname:node_9283,prsc:2|XY-8498-OUT;n:type:ShaderForge.SFN_Multiply,id:9222,x:33384,y:33547,varname:node_9222,prsc:2|A-5700-OUT,B-9283-OUT;n:type:ShaderForge.SFN_OneMinus,id:4253,x:32899,y:33640,varname:node_4253,prsc:2|IN-9543-OUT;n:type:ShaderForge.SFN_Slider,id:9543,x:32482,y:33638,ptovrint:False,ptlb:Vertex Explosion,ptin:_VertexExplosion,varname:node_9543,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:0,max:1;n:type:ShaderForge.SFN_Multiply,id:8002,x:33095,y:33033,varname:node_8002,prsc:2|A-614-OUT,B-40-OUT;n:type:ShaderForge.SFN_Add,id:40,x:32918,y:33265,varname:node_40,prsc:2|A-7643-OUT,B-9222-OUT;n:type:ShaderForge.SFN_Multiply,id:5700,x:33086,y:33497,varname:node_5700,prsc:2|A-5361-OUT,B-4253-OUT;n:type:ShaderForge.SFN_Vector1,id:5361,x:32923,y:33535,varname:node_5361,prsc:2,v1:2;n:type:ShaderForge.SFN_Multiply,id:2851,x:33027,y:32838,varname:node_2851,prsc:2|A-9659-OUT,B-9543-OUT;n:type:ShaderForge.SFN_Append,id:8498,x:32995,y:33802,varname:node_8498,prsc:2|A-3370-OUT,B-5818-OUT;n:type:ShaderForge.SFN_FragmentPosition,id:959,x:32515,y:33754,varname:node_959,prsc:2;n:type:ShaderForge.SFN_Step,id:1553,x:31404,y:33481,varname:node_1553,prsc:2|A-5138-OUT,B-6847-OUT;n:type:ShaderForge.SFN_ValueProperty,id:5138,x:31125,y:33496,ptovrint:False,ptlb:Depth Test Step,ptin:_DepthTestStep,varname:node_5138,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.1;n:type:ShaderForge.SFN_OneMinus,id:1548,x:31651,y:33559,varname:node_1548,prsc:2|IN-1553-OUT;n:type:ShaderForge.SFN_Floor,id:3370,x:32762,y:33724,varname:node_3370,prsc:2|IN-959-X;n:type:ShaderForge.SFN_Floor,id:5818,x:32720,y:33865,varname:node_5818,prsc:2|IN-959-Z;proporder:2852-5237-6775-9466-9543-5138;pass:END;sub:END;*/
  5.  
  6. Shader "Custom/EdgeGlow" {
  7. Properties {
  8. _Color ("Color", Color) = (0.5019608,0.5019608,1,1)
  9. _HardCutoff ("Hard Cutoff", Range(0, 1)) = 0.5
  10. _BrightnessMultiplier ("Brightness Multiplier", Float ) = 1
  11. _DepthDistance ("Depth Distance", Float ) = 1
  12. _VertexExplosion ("Vertex Explosion", Range(0, 1)) = 0
  13. _DepthTestStep ("Depth Test Step", Float ) = 0.1
  14. [HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
  15. }
  16. SubShader {
  17. Tags {
  18. "IgnoreProjector"="True"
  19. "Queue"="AlphaTest+500"
  20. "RenderType"="Opaque"
  21. }
  22. LOD 200
  23. Pass {
  24. Name "FORWARD"
  25. Tags {
  26. "LightMode"="ForwardBase"
  27. }
  28.  
  29.  
  30. CGPROGRAM
  31. #pragma vertex vert
  32. #pragma fragment frag
  33. #define UNITY_PASS_FORWARDBASE
  34. #include "UnityCG.cginc"
  35. #pragma multi_compile_fwdbase
  36. #pragma multi_compile_fog
  37. #pragma exclude_renderers xbox360 ps3
  38. #pragma target 3.0
  39. uniform sampler2D _CameraDepthTexture;
  40. uniform float4 _Color;
  41. uniform float _HardCutoff;
  42. uniform float _BrightnessMultiplier;
  43. uniform float _DepthDistance;
  44. uniform float _VertexExplosion;
  45. uniform float _DepthTestStep;
  46. struct VertexInput {
  47. float4 vertex : POSITION;
  48. float3 normal : NORMAL;
  49. };
  50. struct VertexOutput {
  51. float4 pos : SV_POSITION;
  52. float4 posWorld : TEXCOORD0;
  53. float3 normalDir : TEXCOORD1;
  54. float4 projPos : TEXCOORD2;
  55. UNITY_FOG_COORDS(3)
  56. };
  57. VertexOutput vert (VertexInput v) {
  58. VertexOutput o = (VertexOutput)0;
  59. o.normalDir = UnityObjectToWorldNormal(v.normal);
  60. float2 node_8498 = float2(floor(mul(_Object2World, v.vertex).r),floor(mul(_Object2World, v.vertex).b));
  61. float2 node_9283_skew = node_8498 + 0.2127+node_8498.x*0.3713*node_8498.y;
  62. float2 node_9283_rnd = 4.789*sin(489.123*(node_9283_skew));
  63. float node_9283 = frac(node_9283_rnd.x*node_9283_rnd.y*(1+node_9283_skew.x));
  64. v.vertex.xyz += (v.normal*((_VertexExplosion*3.5+-3.5)+((2.0*(1.0 - _VertexExplosion))*node_9283)));
  65. o.posWorld = mul(_Object2World, v.vertex);
  66. o.pos = mul(UNITY_MATRIX_MVP, v.vertex );
  67. UNITY_TRANSFER_FOG(o,o.pos);
  68. o.projPos = ComputeScreenPos (o.pos);
  69. COMPUTE_EYEDEPTH(o.projPos.z);
  70. return o;
  71. }
  72. float4 frag(VertexOutput i) : COLOR {
  73. i.normalDir = normalize(i.normalDir);
  74. float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
  75. float3 normalDirection = i.normalDir;
  76. float sceneZ = max(0,LinearEyeDepth (UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)))) - _ProjectionParams.g);
  77. float partZ = max(0,i.projPos.z - _ProjectionParams.g);
  78. clip((((1.0 - step(_DepthTestStep,saturate((sceneZ-partZ)/_DepthDistance)))+(_Color.a*step(_HardCutoff,(1.0-max(0,dot(normalDirection, viewDirection))))))*_VertexExplosion) - 0.5);
  79. ////// Lighting:
  80. ////// Emissive:
  81. float3 emissive = (_BrightnessMultiplier*_Color.rgb);
  82. float3 finalColor = emissive;
  83. fixed4 finalRGBA = fixed4(finalColor,1);
  84. UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
  85. return finalRGBA;
  86. }
  87. ENDCG
  88. }
  89. Pass {
  90. Name "ShadowCaster"
  91. Tags {
  92. "LightMode"="ShadowCaster"
  93. }
  94. Offset 1, 1
  95.  
  96. CGPROGRAM
  97. #pragma vertex vert
  98. #pragma fragment frag
  99. #define UNITY_PASS_SHADOWCASTER
  100. #include "UnityCG.cginc"
  101. #include "Lighting.cginc"
  102. #pragma fragmentoption ARB_precision_hint_fastest
  103. #pragma multi_compile_shadowcaster
  104. #pragma multi_compile_fog
  105. #pragma exclude_renderers xbox360 ps3
  106. #pragma target 3.0
  107. uniform sampler2D _CameraDepthTexture;
  108. uniform float4 _Color;
  109. uniform float _HardCutoff;
  110. uniform float _DepthDistance;
  111. uniform float _VertexExplosion;
  112. uniform float _DepthTestStep;
  113. struct VertexInput {
  114. float4 vertex : POSITION;
  115. float3 normal : NORMAL;
  116. };
  117. struct VertexOutput {
  118. V2F_SHADOW_CASTER;
  119. float4 posWorld : TEXCOORD1;
  120. float3 normalDir : TEXCOORD2;
  121. float4 projPos : TEXCOORD3;
  122. };
  123. VertexOutput vert (VertexInput v) {
  124. VertexOutput o = (VertexOutput)0;
  125. o.normalDir = UnityObjectToWorldNormal(v.normal);
  126. float2 node_8498 = float2(floor(mul(_Object2World, v.vertex).r),floor(mul(_Object2World, v.vertex).b));
  127. float2 node_9283_skew = node_8498 + 0.2127+node_8498.x*0.3713*node_8498.y;
  128. float2 node_9283_rnd = 4.789*sin(489.123*(node_9283_skew));
  129. float node_9283 = frac(node_9283_rnd.x*node_9283_rnd.y*(1+node_9283_skew.x));
  130. v.vertex.xyz += (v.normal*((_VertexExplosion*3.5+-3.5)+((2.0*(1.0 - _VertexExplosion))*node_9283)));
  131. o.posWorld = mul(_Object2World, v.vertex);
  132. o.pos = mul(UNITY_MATRIX_MVP, v.vertex );
  133. o.projPos = ComputeScreenPos (o.pos);
  134. COMPUTE_EYEDEPTH(o.projPos.z);
  135. TRANSFER_SHADOW_CASTER(o)
  136. return o;
  137. }
  138. float4 frag(VertexOutput i) : COLOR {
  139. i.normalDir = normalize(i.normalDir);
  140. float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
  141. float3 normalDirection = i.normalDir;
  142. float sceneZ = max(0,LinearEyeDepth (UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)))) - _ProjectionParams.g);
  143. float partZ = max(0,i.projPos.z - _ProjectionParams.g);
  144. clip((((1.0 - step(_DepthTestStep,saturate((sceneZ-partZ)/_DepthDistance)))+(_Color.a*step(_HardCutoff,(1.0-max(0,dot(normalDirection, viewDirection))))))*_VertexExplosion) - 0.5);
  145. SHADOW_CASTER_FRAGMENT(i)
  146. }
  147. ENDCG
  148. }
  149. }
  150. FallBack "Diffuse"
  151. CustomEditor "ShaderForgeMaterialInspector"
  152. }
Advertisement
Add Comment
Please, Sign In to add comment