using System; using INab.BetterFog.Core; using UnityEngine; using UnityEngine.Rendering.PostProcessing; namespace INab.BetterFog.BIRP { [Serializable] [PostProcess(typeof(BetterFogRenderer), PostProcessEvent.BeforeStack, "BetterFog", true)] public sealed class BetterFog : PostProcessEffectSettings { public BoolParameter _UseCustomDepthTexture = new BoolParameter { value = false }; public BoolParameter _UseFogOffsetTexture = new BoolParameter { value = false }; [Range(0f, 1f)] public FloatParameter _FogIntensity = new FloatParameter { value = 1f }; [Range(0f, 1f)] public FloatParameter _EnergyLoss = new FloatParameter { value = 0f }; public BoolParameter _UseGradient = new BoolParameter { value = false }; public ColorParameter _FogColor = new ColorParameter { value = new Color(0.8f, 0.8f, 0.8f, 1f) }; public FloatParameter _GradientStart = new FloatParameter { value = 0f }; public FloatParameter _GradientEnd = new FloatParameter { value = 100f }; public TextureParameter _GradientTexture = new TextureParameter { value = null }; public BoolParameter _UseSunLight = new BoolParameter { value = false }; public ColorParameter _SunColor = new ColorParameter { value = new Color(0.9f, 0.85f, 0.8f, 1f) }; [Range(0f, 1f)] public FloatParameter _SunIntensity = new FloatParameter { value = 0.5f }; [Range(0.1f, 12f)] public FloatParameter _SunPower = new FloatParameter { value = 2f }; public BoolParameter _UseDistanceFog = new BoolParameter { value = true }; public BoolParameter _UseRadialDistance = new BoolParameter { value = false }; public FogParameter _FogType = new FogParameter { value = FogMode.ExponentialSquared }; public FloatParameter _DistanceFogOffset = new FloatParameter { value = -20f }; public FloatParameter _SceneStart = new FloatParameter { value = 10f }; public FloatParameter _SceneEnd = new FloatParameter { value = 100f }; [Range(0f, 0.1f)] public FloatParameter _FogDensity = new FloatParameter { value = 0.001f }; public BoolParameter _UseSkyboxHeightFog = new BoolParameter { value = false }; [Range(-0.1f, 0.1f)] public FloatParameter _SkyboxFogOffset = new FloatParameter { value = 0f }; [Range(0f, 0.999f)] public FloatParameter _SkyboxFogHardness = new FloatParameter { value = 0f }; [Range(0f, 1f)] public FloatParameter _SkyboxFogIntensity = new FloatParameter { value = 1f }; [Range(0f, 1f)] public FloatParameter _SkyboxFill = new FloatParameter { value = 0f }; public BoolParameter _UseHeightFog = new BoolParameter { value = false }; public FloatParameter _Height = new FloatParameter { value = 4f }; [Range(0f, 0.5f)] public FloatParameter _HeightDensity = new FloatParameter { value = 0.35f }; public HeightFogParameter _HeightFogType = new HeightFogParameter { value = HeightFogType.ExponentialSquared }; public BoolParameter _UseNoise = new BoolParameter { value = false }; public NoiseAffectParameter _NoiseAffect = new NoiseAffectParameter { value = NoiseAffect.Both }; [Range(0f, 1f)] public FloatParameter _NoiseIntensity = new FloatParameter { value = 1f }; public FloatParameter _NoiseDistanceEnd = new FloatParameter { value = 80f }; [Range(1f, 16f)] public FloatParameter _NoiseEndHardness = new FloatParameter { value = 0.35f }; [Range(5f, 140f)] public FloatParameter _Scale1 = new FloatParameter { value = 40f }; [Range(0f, 1f)] public FloatParameter _Lerp1 = new FloatParameter { value = 0.5f }; public Vector3Parameter _NoiseSpeed1 = new Vector3Parameter { value = new Vector3(0f, 0f, 0f) }; [Range(0f, 0.5f)] public FloatParameter _NoiseTimeScale1 = new FloatParameter { value = 0.1f }; public BoolParameter _UseSSMS = new BoolParameter { value = false }; [Range(-1f, 1f)] public FloatParameter _Threshold = new FloatParameter { value = 0f }; public FloatParameter _SoftKnee = new FloatParameter { value = 0.5f }; [Range(1f, 7f)] public FloatParameter _Radius = new FloatParameter { value = 7f }; [Range(0.1f, 100f)] public FloatParameter _BlurWeight = new FloatParameter { value = 1f }; [Range(0f, 1f)] public FloatParameter _Intensity = new FloatParameter { value = 1f }; public BoolParameter _HighQuality = new BoolParameter { value = false }; public BoolParameter _AntiFlicker = new BoolParameter { value = false }; public TextureParameter _FadeRamp = new TextureParameter { value = null }; } }