CalmWater_Scattering.cginc 539 B

12345678910111213141516171819
  1. #ifndef CALMWATER_SCATTERING_INCLUDED
  2. #define CALMWATER_SCATTERING_INCLUDED
  3. void ComputeScattering(inout GlobalData data, v2f IN)
  4. {
  5. #ifdef UNITY_PASS_FORWARDBASE
  6. #if _SCATTER_ON
  7. half sunScatter = max(0.0, dot(data.lightDir, -data.worldViewDir)) * _ScatterParams.x;
  8. half waveTips = smootherstep(IN.ambient.a * _ScatterParams.y);
  9. float scatterMask = pow(saturate(sunScatter) + saturate(waveTips), _ScatterParams.z);
  10. data.finalColor += _ScatterColor * saturate(scatterMask) * _LightColor0.rgb;
  11. #endif
  12. #endif
  13. }
  14. #endif