126 lines
3.8 KiB
Plaintext
Raw Permalink Normal View History

2025-09-01 05:03:00 +05:00
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"
}