miduo_client/Assets/ManagedResources/EffectResUI/Practice/Materials/Shader/fresnel.shader

164 lines
15 KiB
Plaintext
Raw Normal View History

2021-05-27 17:40:54 +08:00
// Shader created with Shader Forge v1.38
// Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
// Note: Manually altering this data may prevent you from opening it in Shader Forge
/*SF_DATA;ver:1.38;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,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,imps:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:2,bsrc:3,bdst:0,dpts:2,wrdp:False,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:True,aust:True,igpj:True,qofs:0,qpre:3,rntp:2,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,atwp: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,fsmp:False;n:type:ShaderForge.SFN_Final,id:4013,x:33673,y:32695,varname:node_4013,prsc:2|emission-6590-OUT,alpha-1350-A;n:type:ShaderForge.SFN_Color,id:1304,x:32890,y:32670,ptovrint:False,ptlb:fresnelyanse,ptin:_fresnelyanse,varname:node_1304,prsc:2,glob:False,taghide:False,taghdr:True,tagprd:False,tagnsco:False,tagnrm:False,c1:0.09803921,c2:0.3267796,c3:1,c4:1;n:type:ShaderForge.SFN_Fresnel,id:1951,x:32680,y:32661,varname:node_1951,prsc:2|EXP-3546-OUT;n:type:ShaderForge.SFN_Multiply,id:4458,x:33110,y:32816,varname:node_4458,prsc:2|A-1304-RGB,B-5169-OUT;n:type:ShaderForge.SFN_ValueProperty,id:3546,x:32457,y:32681,ptovrint:False,ptlb:fresneldaxiao,ptin:_fresneldaxiao,varname:node_3546,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.5;n:type:ShaderForge.SFN_Multiply,id:5169,x:32890,y:32831,varname:node_5169,prsc:2|A-1951-OUT,B-7567-OUT;n:type:ShaderForge.SFN_ValueProperty,id:7567,x:32669,y:32865,ptovrint:False,ptlb:fresnelqiangdu,ptin:_fresnelqiangdu,varname:node_7567,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:2;n:type:ShaderForge.SFN_Tex2d,id:4941,x:32669,y:32966,ptovrint:False,ptlb:liudongwenli01,ptin:_liudongwenli01,varname:node_4941,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-5492-OUT;n:type:ShaderForge.SFN_Tex2d,id:5735,x:32669,y:33148,ptovrint:False,ptlb:liudongwenli02,ptin:_liudongwenli02,varname:node_5735,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-3576-OUT;n:type:ShaderForge.SFN_TexCoord,id:6131,x:32204,y:33030,varname:node_6131,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Panner,id:7689,x:32447,y:32966,varname:node_7689,prsc:2,spu:0.3,spv:0.6|UVIN-6131-UVOUT;n:type:ShaderForge.SFN_Panner,id:4125,x:32447,y:33109,varname:node_4125,prsc:2,spu:-0.2,spv:0.6|UVIN-6131-UVOUT;n:type:ShaderForge.SFN_Multiply,id:2964,x:32874,y:33078,varname:node_2964,prsc:2|A-4941-R,B-5735-R;n:type:ShaderForge.SFN_Multiply,id:6590,x:33373,y:32805,varname:node_6590,prsc:2|A-1666-OUT,B-4458-OUT,C-4436-OUT;n:type:ShaderForge.SFN_ValueProperty,id:1666,x:33110,y:32670,ptovrint:False,ptlb:zhengtiqiangdu,ptin:_zhengtiqiangdu,varname:node_1666,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_ValueProperty,id:8001,x:32904,y:33266,ptovrint:False,ptlb:liudongqiangdu,ptin:_liudongqiangdu,varname:node_8001,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:3;n:type:ShaderForge.SFN_Multiply,id:4436,x:33181,y:33084,varname:node_4436,prsc:2|A-2964-OUT,B-8001-OUT;n:type:ShaderForge.SFN_VertexColor,id:1350,x:33148,y:33220,varname:node_1350,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:5621,x:32079,y:32217,ptovrint:False,ptlb:U_Speed_01,ptin:_U_Speed_01,varname:_U_Speed,prsc:0,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.1;n:type:ShaderForge.SFN_ValueProperty,id:2083,x:32079,y:32528,ptovrint:False,ptlb:V_Speed_01,ptin:_V_Speed_01,varname:_V_Speed,prsc:0,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.1;n:type:ShaderForge.SFN_Time,id:1435,x:32079,y:32337,varname:node_1435,prsc:2;n:type:ShaderForge.SFN_Append,id:7995,x:32613,y:32393,varname:node_7995,prsc:1|A-9717-OUT,B-6435-OUT;n:type:ShaderForge.SFN_Multiply,id:4336,x:32262,y:32217
Shader "Shader Forge/fresnel_flow" {
Properties {
[HDR]_fresnelyanse ("fresnelyanse", Color) = (0.09803921,0.3267796,1,1)
_fresneldaxiao ("fresneldaxiao", Float ) = 0.5
_fresnelqiangdu ("fresnelqiangdu", Float ) = 2
_liudongwenli01 ("liudongwenli01", 2D) = "white" {}
_liudongwenli02 ("liudongwenli02", 2D) = "white" {}
_zhengtiqiangdu ("zhengtiqiangdu", Float ) = 1
_liudongqiangdu ("liudongqiangdu", Float ) = 3
_U_Speed_01 ("U_Speed_01", Float ) = 0.1
_V_Speed_01 ("V_Speed_01", Float ) = 0.1
_U_Speed_02 ("U_Speed_02", Float ) = 0.1
_V_Speed_02 ("V_Speed_02", Float ) = 0.1
_Rotator_01 ("Rotator_01", Float ) = 0
_Rotator_02 ("Rotator_02", Float ) = 0
[HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
}
SubShader {
Tags {
"IgnoreProjector"="True"
"Queue"="Transparent"
"RenderType"="Transparent"
}
Pass {
Name "FORWARD"
Tags {
"LightMode"="ForwardBase"
}
Blend SrcAlpha One
Cull Off
ZWrite Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#pragma multi_compile_fwdbase
#pragma multi_compile_fog
#pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan
2021-05-27 17:40:54 +08:00
#pragma target 3.0
uniform float4 _fresnelyanse;
uniform float _fresneldaxiao;
uniform float _fresnelqiangdu;
uniform sampler2D _liudongwenli01; uniform float4 _liudongwenli01_ST;
uniform sampler2D _liudongwenli02; uniform float4 _liudongwenli02_ST;
uniform float _zhengtiqiangdu;
uniform float _liudongqiangdu;
uniform fixed _U_Speed_01;
uniform fixed _V_Speed_01;
uniform fixed _Rotator_01;
uniform fixed _U_Speed_02;
uniform fixed _V_Speed_02;
uniform fixed _Rotator_02;
struct VertexInput {
float4 vertex : POSITION;
float3 normal : NORMAL;
float2 texcoord0 : TEXCOORD0;
float4 texcoord1 : TEXCOORD1;
float4 vertexColor : COLOR;
};
struct VertexOutput {
float4 pos : SV_POSITION;
float2 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 posWorld : TEXCOORD2;
float3 normalDir : TEXCOORD3;
float4 vertexColor : COLOR;
UNITY_FOG_COORDS(4)
};
VertexOutput vert (VertexInput v) {
VertexOutput o = (VertexOutput)0;
o.uv0 = v.texcoord0;
o.uv1 = v.texcoord1;
o.vertexColor = v.vertexColor;
o.normalDir = UnityObjectToWorldNormal(v.normal);
o.posWorld = mul(unity_ObjectToWorld, v.vertex);
o.pos = UnityObjectToClipPos( v.vertex );
UNITY_TRANSFER_FOG(o,o.pos);
return o;
}
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
float isFrontFace = ( facing >= 0 ? 1 : 0 );
float faceSign = ( facing >= 0 ? 1 : -1 );
i.normalDir = normalize(i.normalDir);
i.normalDir *= faceSign;
float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
float3 normalDirection = i.normalDir;
////// Lighting:
////// Emissive:
float4 node_1435 = _Time;
float node_5151_ang = (_Rotator_01*3.141592654);
float node_5151_spd = 1.0;
float node_5151_cos = cos(node_5151_spd*node_5151_ang);
float node_5151_sin = sin(node_5151_spd*node_5151_ang);
float2 node_5151_piv = float2(0.5,0.5);
fixed2 node_5151 = (mul(i.uv0-node_5151_piv,float2x2( node_5151_cos, -node_5151_sin, node_5151_sin, node_5151_cos))+node_5151_piv);
float2 node_8727 = node_5151.rg;
float2 node_5492 = (float2(i.uv1.b,i.uv1.a)+float2(((_U_Speed_01*node_1435.g)+node_8727.r),(node_8727.g+(node_1435.g*_V_Speed_01))));
float4 _liudongwenli01_var = tex2D(_liudongwenli01,TRANSFORM_TEX(node_5492, _liudongwenli01));
float4 node_1492 = _Time;
float node_1398_ang = (_Rotator_02*3.141592654);
float node_1398_spd = 1.0;
float node_1398_cos = cos(node_1398_spd*node_1398_ang);
float node_1398_sin = sin(node_1398_spd*node_1398_ang);
float2 node_1398_piv = float2(0.5,0.5);
fixed2 node_1398 = (mul(i.uv0-node_1398_piv,float2x2( node_1398_cos, -node_1398_sin, node_1398_sin, node_1398_cos))+node_1398_piv);
float2 node_3380 = node_1398.rg;
float2 node_3576 = (float2(i.uv1.b,i.uv1.a)+float2(((_U_Speed_02*node_1492.g)+node_3380.r),(node_3380.g+(node_1492.g*_V_Speed_02))));
float4 _liudongwenli02_var = tex2D(_liudongwenli02,TRANSFORM_TEX(node_3576, _liudongwenli02));
float3 emissive = (_zhengtiqiangdu*(_fresnelyanse.rgb*(pow(1.0-max(0,dot(normalDirection, viewDirection)),_fresneldaxiao)*_fresnelqiangdu))*((_liudongwenli01_var.r*_liudongwenli02_var.r)*_liudongqiangdu));
float3 finalColor = emissive;
fixed4 finalRGBA = fixed4(finalColor,i.vertexColor.a);
UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
return finalRGBA;
}
ENDCG
}
Pass {
Name "ShadowCaster"
Tags {
"LightMode"="ShadowCaster"
}
Offset 1, 1
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
#pragma fragmentoption ARB_precision_hint_fastest
#pragma multi_compile_shadowcaster
#pragma multi_compile_fog
#pragma only_renderers d3d9 d3d11 glcore gles gles3 metal vulkan
2021-05-27 17:40:54 +08:00
#pragma target 3.0
struct VertexInput {
float4 vertex : POSITION;
};
struct VertexOutput {
V2F_SHADOW_CASTER;
};
VertexOutput vert (VertexInput v) {
VertexOutput o = (VertexOutput)0;
o.pos = UnityObjectToClipPos( v.vertex );
TRANSFER_SHADOW_CASTER(o)
return o;
}
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
float isFrontFace = ( facing >= 0 ? 1 : 0 );
float faceSign = ( facing >= 0 ? 1 : -1 );
SHADOW_CASTER_FRAGMENT(i)
}
ENDCG
}
}
FallBack "Diffuse"
CustomEditor "ShaderForgeMaterialInspector"
}