| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | #include "CalmWater_Variables.cginc"#include "CalmWater_Helper.cginc"#include "CalmWater_Vertex.cginc"#include "CalmWater_Tessellation.cginc"#include "CalmWater_Normals.cginc"#include "CalmWater_Refraction.cginc"#include "CalmWater_Caustics.cginc"#include "CalmWater_Scattering.cginc"#include "CalmWater_Reflections.cginc"#include "CalmWater_Foam.cginc"#include "CalmWater_Specular.cginc"#ifndef CALMWATER_INCLUDED#define CALMWATER_INCLUDED//Uncomment to enable enviro support//#include "../../Enviro - Dynamic Enviroment/Resources/Shaders/Core/EnviroFogCore.cginc"#ifndef LIGHTCOLOR#define LIGHTCOLORuniform fixed4 _LightColor0;#endif// ============================================// Frag// ============================================fixed4 frag( v2f i ) : SV_Target{	UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);	GlobalData data;	InitializeGlobalData(data, i);	ComputeNormals(data, i);	ComputeRefraction(data, i);	ComputeCaustics(data);	ComputeScattering(data, i);	ComputeReflections(data, i);	ComputeFoam(data, i);	ComputeSpecular(data);		#ifdef UNITY_PASS_FORWARDADD	data.finalColor *= _LightColor0.rgb;	#endif	data.finalColor += data.specular;	//Alpha	fixed alpha	= _EdgeFade * (data.cleanDepth - data.DepthUV.z) * _Color.a;	fixed4 c;	#ifndef UNITY_PASS_FORWARDADD		//Uncomment to enable enviro support		//half2 screenUV = (i.pos.xy / i.pos.w) * _ProjectionParams.x * 0.5 + 0.5;		//diff = TransparentFog(float4(diff, 0), i.worldPos, screenUV, i.DepthUV.z).rgb;		c.rgb 	= lerp(data.cleanBuffers.rgb, data.finalColor, saturate(alpha) );		UNITY_APPLY_FOG(i.fogCoord, c);	#else		UNITY_LIGHT_ATTENUATION(atten, i, i.worldPos.xyz)    	c.rgb 	= data.finalColor * saturate(alpha) * atten;	#endif		c.a 	= 1;	return c;}#endif
 |