126 lines
3.8 KiB
Plaintext
126 lines
3.8 KiB
Plaintext
![]() |
Shader "ToonSketch/Water"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
[Enum(Soft,0,Hard,1)] _Style("Style", Float) = 0
|
||
|
[Enum(Off,0,Front,1,Back,2)] _Cull("Cull Mode", Float) = 2
|
||
|
|
||
|
[NoScaleOffset] _MainTex("Albedo", 2D) = "white" {}
|
||
|
|
||
|
_SurfaceTiling("Surface Tiling", Float) = 1
|
||
|
_FoamTiling("Foam Tiling", Float) = 1
|
||
|
|
||
|
[Toggle(_SURFACE_USEWORLD)] _SurfaceUseWorld("Surface Uses World Space?", Float) = 0
|
||
|
|
||
|
[Toggle(_TS_RAMPTEX_ON)] _Ramp("Ramp Texture?", Float) = 0
|
||
|
[NoScaleOffset] _RampTex("Ramp Texture", 2D) = "white" {}
|
||
|
_RampThreshold("Ramp Threshold", Range(0, 1)) = 0.5
|
||
|
_RampCutoff("Ramp Cutoff", Range(0, 1)) = 0.1
|
||
|
|
||
|
[Toggle(_TS_IGNOREINDIRECT_ON)] _IgnoreIndirect("Ignore Indirect Lighting?", Float) = 0
|
||
|
|
||
|
_WaterColorShallow("Water Color (Shallow)", Color) = (0.3, 0.8, 0.9, 0.7)
|
||
|
_WaterColorDeep("Water Color (Deep)", Color) = (0.1, 0.4, 1, 0.7)
|
||
|
_WaterColorFoam("Water Color (Foam)", Color) = (1, 1, 1, 1)
|
||
|
_WaterDepthCutoff("Water Depth Cutoff", Range(0, 20)) = 1
|
||
|
|
||
|
[Toggle(_USEVERTEXFLOW)] _VertexData("Use Vertex Color Flow?", Float) = 0
|
||
|
|
||
|
_FlowDirection("Flow Direction", Vector) = (0, 0, 0, 0)
|
||
|
_FlowWaveFactor("Flow Wave Factor", Range(0, 1)) = 1
|
||
|
|
||
|
[Toggle(_WAVE_USEWORLD)] _WaveUseWorld("Wave Uses World Space?", Float) = 0
|
||
|
|
||
|
_WaveAmount("Wave Amount", Range(0, 1)) = 0.5
|
||
|
_WaveSpeed("Wave Speed", Range(0, 1)) = 0.5
|
||
|
_WaveStrength("Wave Strength", Range(0, 1)) = 0.5
|
||
|
|
||
|
_SurfaceDistort("Surface Distortion", Range(0, 1)) = 0.1
|
||
|
_SurfaceSpeed("Surface Speed", Range(0, 1)) = 0.5
|
||
|
_SurfaceStrength("Surface Strength", Range(0, 1)) = 0.2
|
||
|
|
||
|
_FoamDistance("Foam Distance", Range(0, 50)) = 50
|
||
|
_FoamFade("Foam Fade", Range(0, 1)) = 1
|
||
|
_FoamMaxDepth("Foam Maximum Depth", Range(0, 1)) = 0.8
|
||
|
_FoamMinDepth("Foam Minimum Depth", Range(0, 1)) = 0.2
|
||
|
_FoamDistort("Foam Distortion", Range(0, 1)) = 0.2
|
||
|
_FoamSpeed("Foam Speed", Range(0, 1)) = 1
|
||
|
_FoamSoftness("Foam Softness", Range(0, 1)) = 1
|
||
|
_FoamSoftNoise("Foam Soft Noise", Range(0, 1)) = 0.5
|
||
|
_FoamHardEdge("Foam Hard Edge", Range(0, 1)) = 0.5
|
||
|
_FoamAmount("Foam Amount", Range(0, 1)) = 1
|
||
|
_FoamStrength("Foam Strength", Range(0, 1)) = 1
|
||
|
|
||
|
[HideInInspector] _ZWrite("__zw", Float) = 1
|
||
|
}
|
||
|
SubShader
|
||
|
{
|
||
|
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "PerformanceChecks"="False" "ForceNoShadowCasting"="True" }
|
||
|
LOD 200
|
||
|
|
||
|
Pass
|
||
|
{
|
||
|
Name "FORWARD"
|
||
|
Tags { "LightMode" = "ForwardBase" }
|
||
|
Blend SrcAlpha OneMinusSrcAlpha
|
||
|
Cull [_Cull]
|
||
|
ZWrite [_ZWrite]
|
||
|
ZTest LEqual
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
|
||
|
#pragma shader_feature _ALPHABLEND_ON
|
||
|
|
||
|
#pragma shader_feature _ _SURFACE_USEWORLD
|
||
|
#pragma shader_feature _ _WAVE_USEWORLD
|
||
|
#pragma shader_feature _ _USEVERTEXFLOW
|
||
|
|
||
|
#pragma shader_feature _ _TS_RAMPTEX_ON
|
||
|
#pragma shader_feature _ _TS_IGNOREINDIRECT_ON
|
||
|
|
||
|
#pragma multi_compile_fwdbase
|
||
|
#pragma multi_compile_fog
|
||
|
#pragma multi_compile_instancing
|
||
|
|
||
|
#pragma vertex TS_VertWaterForwardBase
|
||
|
#pragma fragment TS_FragWaterForwardBase
|
||
|
|
||
|
#include "TS_WaterForward.cginc"
|
||
|
ENDCG
|
||
|
}
|
||
|
Pass
|
||
|
{
|
||
|
Name "FORWARD_DELTA"
|
||
|
Tags { "LightMode" = "ForwardAdd" }
|
||
|
Blend SrcAlpha One
|
||
|
Cull [_Cull]
|
||
|
Fog { Color (0,0,0,0) }
|
||
|
ZWrite Off
|
||
|
ZTest LEqual
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
|
||
|
#pragma shader_feature _ALPHABLEND_ON
|
||
|
|
||
|
#pragma shader_feature _ _SURFACE_USEWORLD
|
||
|
#pragma shader_feature _ _WAVE_USEWORLD
|
||
|
#pragma shader_feature _ _USEVERTEXFLOW
|
||
|
|
||
|
#pragma shader_feature _ _TS_RAMPTEX_ON
|
||
|
|
||
|
#pragma multi_compile_fwdadd
|
||
|
#pragma multi_compile_fog
|
||
|
#pragma multi_compile_instancing
|
||
|
|
||
|
#pragma vertex TS_VertWaterForwardAdd
|
||
|
#pragma fragment TS_FragWaterForwardAdd
|
||
|
|
||
|
#include "TS_WaterForward.cginc"
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
FallBack "Diffuse"
|
||
|
CustomEditor "ToonSketchWaterShaderGUI"
|
||
|
}
|