76 lines
2.9 KiB
GLSL
76 lines
2.9 KiB
GLSL
Shader "RO/RO_Effect_UVRJ_01"
|
|
{
|
|
Properties
|
|
{
|
|
[HDR]_MainTexColor("MainTexColor", Color) = (1,1,1,1)
|
|
_MainTex("MainTex", 2D) = "white" {}
|
|
_Vector0("UV_Speed", Vector) = (0,0,0,0)
|
|
_FresnelColor("FresnelColor", Color) = (0,0,0,0)
|
|
_Fresnel("Fresnel(X_Bias,Y_Scale,Z_Power)", Vector) = (0,0,0,0)
|
|
[Enum(UnityEngine.Rendering.BlendMode)]_Src1("Src", Float) = 1
|
|
[Enum(UnityEngine.Rendering.BlendMode)]_Dst1("Dst", Float) = 1
|
|
[Enum(UnityEngine.Rendering.CullMode)]_CullMode1("CullMode", Float) = 0
|
|
[Enum(On,0,Off,1)]_ZWrite1("ZWrite", Float) = 0
|
|
[Enum(UnityEngine.Rendering.CompareFunction)]_ZTest1("ZTest", Float) = 5
|
|
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
|
[HideInInspector] __dirty( "", Int ) = 1
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags{ "RenderType" = "Custom" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
|
|
Cull [_CullMode1]
|
|
ZWrite [_ZWrite1]
|
|
ZTest [_ZTest1]
|
|
Blend [_Src1] [_Dst1]
|
|
|
|
CGPROGRAM
|
|
#include "UnityShaderVariables.cginc"
|
|
#pragma target 3.0
|
|
#pragma surface surf Unlit keepalpha noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nometa noforwardadd
|
|
struct Input
|
|
{
|
|
float3 worldPos;
|
|
float3 worldNormal;
|
|
float2 uv_texcoord;
|
|
float4 vertexColor : COLOR;
|
|
};
|
|
|
|
uniform float _Dst1;
|
|
uniform float _Src1;
|
|
uniform float _CullMode1;
|
|
uniform float _ZTest1;
|
|
uniform float _ZWrite1;
|
|
uniform float4 _FresnelColor;
|
|
uniform float4 _Fresnel;
|
|
uniform float4 _MainTexColor;
|
|
uniform sampler2D _MainTex;
|
|
uniform float4 _MainTex_ST;
|
|
uniform float4 _Vector0;
|
|
|
|
inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
|
|
{
|
|
return half4 ( 0, 0, 0, s.Alpha );
|
|
}
|
|
|
|
void surf( Input i , inout SurfaceOutput o )
|
|
{
|
|
float3 ase_worldPos = i.worldPos;
|
|
float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
|
|
float3 ase_worldNormal = i.worldNormal;
|
|
float fresnelNdotV43 = dot( ase_worldNormal, ase_worldViewDir );
|
|
float fresnelNode43 = ( 0.0 + 1.0 * pow( 1.0 - fresnelNdotV43, _Fresnel.y ) );
|
|
float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
|
|
float2 appendResult25 = (float2(( uv0_MainTex.x + ( _Time.y * _Vector0.x ) ) , ( uv0_MainTex.y + ( _Time.y * _Vector0.y ) )));
|
|
float4 tex2DNode2 = tex2D( _MainTex, appendResult25 );
|
|
float2 appendResult34 = (float2(( uv0_MainTex.x + ( _Time.y * _Vector0.z ) ) , ( uv0_MainTex.y + ( _Time.y * _Vector0.w ) )));
|
|
float4 tex2DNode36 = tex2D( _MainTex, appendResult34 );
|
|
float temp_output_65_0 = ( tex2DNode2.r * tex2DNode36.r );
|
|
o.Emission = saturate( ( ( _FresnelColor * saturate( ( fresnelNode43 * _Fresnel.x ) ) ) + ( _MainTexColor * temp_output_65_0 * i.vertexColor ) ) ).rgb;
|
|
o.Alpha = step( saturate( ( temp_output_65_0 * _MainTexColor.a ) ) , ( _FresnelColor.a * i.vertexColor.a ) );
|
|
}
|
|
|
|
ENDCG
|
|
}
|
|
}
|