Files
beyond/Assets/Shaders/Camera_Fade_Alpha.hlsl
2024-11-20 15:21:28 +01:00

22 lines
777 B
HLSL

void CameraFadeAlpha_float(
// Base inputs
float3 positionWS,
float CameraInversFadeRange,
float CameraInversFarFadeRange,
float CameraFadeDist,
float CameraFarFadeDist,
float AlphaIN,
float AlphaTh,
out real Alpha
) {
#if !defined(SHADERPASS_SHADOWCASTER)
//Alpha = AlphaIN * saturate( (positionSP.w - CameraFadeDist) * CameraInversFadeRange - Dither32(positionSP.xy / positionSP.w * _ScreenParams.xy ) );
Alpha = AlphaIN;
#else
float distanceToCam = distance(positionWS, GetCameraPositionWS() );
float a = saturate((distanceToCam - CameraFadeDist) * CameraInversFadeRange) * saturate((CameraFarFadeDist - distanceToCam)* CameraInversFarFadeRange);
Alpha = AlphaIN * saturate(a+AlphaTh);
#endif
}