if (water > 0.5 && isEyeInWater == 0) {
	  colorTer       =colorTer * 2.0;
	  colorTer      *=colorTer;
vec3  absorbColor    =(normalize(waterColor.rgb + vec3(0.01)) * sqrt(WATER_I)) * colorTer * 1.92;

float absorbDist     =1.0 - clamp01(difOP / 8.0);

vec3  waterAlbedoAbs =mix(pow2(absorbColor), pow2(colorTer), pow2(absorbDist));
	  waterAlbedoAbs*=waterAlbedoAbs * 0.9;

float waterFogAbs    =lViewPosOP / pow(far, 0.05) * 0.015 * (1.0 - sunVisibility * 0.25) * 2.5;
	  waterFogAbs    =(1.0 - (exp(-300.0 * pow(waterFogAbs*0.125, 3.25) * eBS)));

float fixWaterFogAbs =max(1.0 - waterFogAbs, 0.0);
	  fixWaterFogAbs*=fixWaterFogAbs;
	  fixWaterFogAbs*=fixWaterFogAbs;
	  fixWaterFogAbs*=fixWaterFogAbs;
	  fixWaterFogAbs*=1.0 - rainStrengthS * 0.7;

float skyLightFactor =clamp01(max(lightmap.y - 0.95, 0.05) * ALBEDO_ABS_POWER);
float absorb         =(1.0 - albedo.a) * fixWaterFogAbs * skyLightFactor;

	  albedo.rgb     =mix(albedo.rgb, waterAlbedoAbs / (1.0 - WATER_ABS_COLOR), absorb);
}