|
Shader "Environment/DisplacePanner" {
|
Properties{
|
_Main_color("Main_color", Color) = (0.5,0.5,0.5,1)
|
_Displace_slider("Displace_slider", Range(0, 2)) = 0.4
|
_Brightness("Brightness", Float) = 1
|
_MainTex("MainTex", 2D) = "white" {}
|
_MainTex_XPanner("MainTex_XPanner", Float) = 0.03
|
_MainTex_YPanner("MainTex_YPanner", Float) = 0.03
|
_MistTex("MistTex", 2D) = "white" {}
|
_Mist_XPanner("Mist_XPanner", Float) = -0.03
|
_Mist_YPanner("Mist_YPanner", Float) = -0.03
|
[HideInInspector]_Cutoff("Alpha cutoff", Range(0,1)) = 0.5
|
}
|
SubShader{
|
Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" "PreviewType" = "Plane" }
|
Blend SrcAlpha OneMinusSrcAlpha
|
ColorMask RGB
|
Cull Off Lighting Off ZWrite Off
|
|
Pass {
|
CGPROGRAM
|
#include "UnityCG.cginc"
|
#pragma vertex vert
|
#pragma fragment frag
|
#pragma target 3.0
|
#pragma multi_compile_particles
|
#pragma multi_compile_fog
|
|
uniform sampler2D _MainTex;
|
uniform sampler2D _MistTex;
|
uniform float4 _MainTex_ST;
|
uniform float4 _MistTex_ST;
|
uniform float _Displace_slider;
|
uniform float4 _Main_color;
|
uniform float _Brightness;
|
uniform float _Mist_XPanner;
|
uniform float _MainTex_XPanner;
|
uniform float _Mist_YPanner;
|
uniform float _MainTex_YPanner;
|
|
struct VertexInput {
|
float4 vertex : POSITION;
|
float2 texcoord0 : TEXCOORD0;
|
float4 vertexColor : COLOR;
|
};
|
|
struct VertexOutput {
|
float4 pos : SV_POSITION;
|
float2 uv0 : TEXCOORD0;
|
float4 vertexColor : COLOR;
|
};
|
|
VertexOutput vert(VertexInput v) {
|
VertexOutput o;
|
o.uv0 = v.texcoord0;
|
o.vertexColor = v.vertexColor;
|
o.pos = UnityObjectToClipPos(v.vertex);
|
return o;
|
}
|
|
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
|
|
float r = tex2D(_MistTex , TRANSFORM_TEX(i.uv0 + _Time.y*float2(_Mist_XPanner,_Mist_YPanner), _MistTex)).r;
|
float d = (r*2.0 - 1.0)*_Displace_slider;
|
float2 uvoffset = _Time.y* float2(_MainTex_XPanner, _MainTex_YPanner) + i.uv0 + d.xx;
|
|
float4 _MainTex_var = tex2D(_MainTex, TRANSFORM_TEX(uvoffset, _MainTex));
|
float3 finalColor = (_Main_color.rgb*_MainTex_var.rgb*_Brightness);
|
return fixed4(finalColor,(_Main_color.a*i.vertexColor.a*_MainTex_var.a));
|
}
|
ENDCG
|
}
|
}
|
FallBack "Diffuse"
|
}
|