<@if not HAZE_SLH@> <@def HAZE_SLH@> const int HAZE_MODE_IS_ACTIVE = 1 << 0; const int HAZE_MODE_IS_ALTITUDE_BASED = 1 << 1; const int HAZE_MODE_IS_DIRECTIONAL_LIGHT_ATTENUATED = 1 << 2; const int HAZE_MODE_IS_MODULATE_COLOR = 1 << 3; struct HazeParams { vec3 hazeColor; float directionalLightBlend; vec3 directionalLightColor; float hazeBaseReference; vec3 colorModulationFactor; int hazeMode; float hazeRangeFactor; float hazeAltitudeFactor; float hazeRangeFactorKeyLight; float hazeAltitudeFactorKeyLight; float backgroundBlendValue; }; layout(std140) uniform hazeBuffer { HazeParams hazeParams; }; uniform sampler2D linearDepthMap; <@endif@>