Files
beyond/Assets/ThirdParty/NatureManufacture Assets/River Auto Material/River/Shaders/Water Particles Foam.shader
2024-11-20 15:21:28 +01:00

60 lines
2.0 KiB
GLSL

Shader "NatureManufacture Shaders/Water/Water Particles Foam"
{
Properties
{
_Color("Color", Color) = (1,1,1,0)
_ColorPower("Color Power", Vector) = (5,5,5,0)
_AOPower("AO Power", Range( 0 , 1)) = 1
_Opacity("Opacity", Range( 0 , 20)) = 0.23
_ParticleTexture("Particle Texture", 2D) = "white" {}
_ParticleNormalmap("Particle Normalmap", 2D) = "bump" {}
_NormalScale("Normal Scale", Range( -5 , 5)) = 0
_Smoothness("Smoothness", Range( 0 , 1)) = 0.8
_Metallic("Metallic", Range( 0 , 1)) = 0.1
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" }
Cull Off
CGPROGRAM
#include "UnityStandardUtils.cginc"
#pragma target 3.0
#pragma surface surf Standard alpha:fade keepalpha noshadow
struct Input
{
float2 uv_texcoord;
float4 vertexColor : COLOR;
};
uniform float _NormalScale;
uniform sampler2D _ParticleNormalmap;
uniform float4 _ParticleNormalmap_ST;
uniform float3 _ColorPower;
uniform float4 _Color;
uniform sampler2D _ParticleTexture;
uniform float4 _ParticleTexture_ST;
uniform float _Metallic;
uniform float _Smoothness;
uniform float _AOPower;
uniform float _Opacity;
void surf( Input i , inout SurfaceOutputStandard o )
{
float2 uv_ParticleNormalmap = i.uv_texcoord * _ParticleNormalmap_ST.xy + _ParticleNormalmap_ST.zw;
o.Normal = UnpackScaleNormal( tex2D( _ParticleNormalmap, uv_ParticleNormalmap ), _NormalScale );
float2 uv_ParticleTexture = i.uv_texcoord * _ParticleTexture_ST.xy + _ParticleTexture_ST.zw;
float4 tex2DNode34 = tex2D( _ParticleTexture, uv_ParticleTexture );
o.Albedo = ( ( ( float4( _ColorPower , 0.0 ) * _Color ) * tex2DNode34 ) * i.vertexColor ).rgb;
o.Metallic = _Metallic;
o.Smoothness = _Smoothness;
o.Occlusion = _AOPower;
float clampResult40 = clamp( ( _Opacity * tex2DNode34.a ) , 0.0 , 1.0 );
o.Alpha = ( i.vertexColor.a * clampResult40 );
}
ENDCG
}
}