using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000558 RID: 1368
	[Token(Token = "0x2000558")]
	[Serializable]
	public class EyeAdaptationModel : PostProcessingModel
	{
		// Token: 0x17000358 RID: 856
		// (get) Token: 0x06002DBF RID: 11711 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002DC0 RID: 11712 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000358")]
		public EyeAdaptationModel.Settings settings
		{
			[Token(Token = "0x6002DBF")]
			[Address(RVA = "0xA6AAE0", Offset = "0xA698E0", VA = "0x180A6AAE0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002DC0")]
			[Address(RVA = "0xA6AB10", Offset = "0xA69910", VA = "0x180A6AB10")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002DC1 RID: 11713 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DC1")]
		[Address(RVA = "0xA6AA50", Offset = "0xA69850", VA = "0x180A6AA50", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DC2 RID: 11714 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DC2")]
		[Address(RVA = "0xA6AA90", Offset = "0xA69890", VA = "0x180A6AA90")]
		public EyeAdaptationModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003687 RID: 13959
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003687")]
		[SerializeField]
		private EyeAdaptationModel.Settings m_Settings;

		// Token: 0x02000559 RID: 1369
		[Token(Token = "0x2000559")]
		public enum EyeAdaptationType
		{
			// Token: 0x04003689 RID: 13961
			[Token(Token = "0x4003689")]
			Progressive,
			// Token: 0x0400368A RID: 13962
			[Token(Token = "0x400368A")]
			Fixed
		}

		// Token: 0x0200055A RID: 1370
		[Token(Token = "0x200055A")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x17000359 RID: 857
			// (get) Token: 0x06002DC3 RID: 11715 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x17000359")]
			public static EyeAdaptationModel.Settings defaultSettings
			{
				[Token(Token = "0x6002DC3")]
				[Address(RVA = "0x5FD5D0", Offset = "0x5FC3D0", VA = "0x1805FD5D0")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x0400368B RID: 13963
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x400368B")]
			[Range(1f, 99f)]
			[Tooltip("Filters the dark part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")]
			public float lowPercent;

			// Token: 0x0400368C RID: 13964
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x400368C")]
			[Range(1f, 99f)]
			[Tooltip("Filters the bright part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")]
			public float highPercent;

			// Token: 0x0400368D RID: 13965
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x400368D")]
			[Tooltip("Minimum average luminance to consider for auto exposure (in EV).")]
			public float minLuminance;

			// Token: 0x0400368E RID: 13966
			[FieldOffset(Offset = "0xC")]
			[Token(Token = "0x400368E")]
			[Tooltip("Maximum average luminance to consider for auto exposure (in EV).")]
			public float maxLuminance;

			// Token: 0x0400368F RID: 13967
			[FieldOffset(Offset = "0x10")]
			[Token(Token = "0x400368F")]
			[Min(0f)]
			[Tooltip("Exposure bias. Use this to offset the global exposure of the scene.")]
			public float keyValue;

			// Token: 0x04003690 RID: 13968
			[FieldOffset(Offset = "0x14")]
			[Token(Token = "0x4003690")]
			[Tooltip("Set this to true to let Unity handle the key value automatically based on average luminance.")]
			public bool dynamicKeyValue;

			// Token: 0x04003691 RID: 13969
			[FieldOffset(Offset = "0x18")]
			[Token(Token = "0x4003691")]
			[Tooltip("Use \"Progressive\" if you want the auto exposure to be animated. Use \"Fixed\" otherwise.")]
			public EyeAdaptationModel.EyeAdaptationType adaptationType;

			// Token: 0x04003692 RID: 13970
			[FieldOffset(Offset = "0x1C")]
			[Token(Token = "0x4003692")]
			[Min(0f)]
			[Tooltip("Adaptation speed from a dark to a light environment.")]
			public float speedUp;

			// Token: 0x04003693 RID: 13971
			[FieldOffset(Offset = "0x20")]
			[Token(Token = "0x4003693")]
			[Min(0f)]
			[Tooltip("Adaptation speed from a light to a dark environment.")]
			public float speedDown;

			// Token: 0x04003694 RID: 13972
			[FieldOffset(Offset = "0x24")]
			[Token(Token = "0x4003694")]
			[Tooltip("Lower bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")]
			[Range(-16f, -1f)]
			public int logMin;

			// Token: 0x04003695 RID: 13973
			[FieldOffset(Offset = "0x28")]
			[Token(Token = "0x4003695")]
			[Tooltip("Upper bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")]
			[Range(1f, 16f)]
			public int logMax;
		}
	}
}
