using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005B0 RID: 1456
	[Token(Token = "0x20005B0")]
	[Serializable]
	public class EyeAdaptationModel : PostProcessingModel
	{
		// Token: 0x1700037D RID: 893
		// (get) Token: 0x06003088 RID: 12424 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06003089 RID: 12425 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x1700037D")]
		public EyeAdaptationModel.Settings settings
		{
			[Token(Token = "0x6003088")]
			[Address(RVA = "0xD0DEF0", Offset = "0xD0CEF0", VA = "0x180D0DEF0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6003089")]
			[Address(RVA = "0xD0DF20", Offset = "0xD0CF20", VA = "0x180D0DF20")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x0600308A RID: 12426 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600308A")]
		[Address(RVA = "0xD0DE60", Offset = "0xD0CE60", VA = "0x180D0DE60", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600308B RID: 12427 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600308B")]
		[Address(RVA = "0xD0DEA0", Offset = "0xD0CEA0", VA = "0x180D0DEA0")]
		public EyeAdaptationModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003971 RID: 14705
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003971")]
		[SerializeField]
		private EyeAdaptationModel.Settings m_Settings;

		// Token: 0x020005B1 RID: 1457
		[Token(Token = "0x20005B1")]
		public enum EyeAdaptationType
		{
			// Token: 0x04003973 RID: 14707
			[Token(Token = "0x4003973")]
			Progressive,
			// Token: 0x04003974 RID: 14708
			[Token(Token = "0x4003974")]
			Fixed
		}

		// Token: 0x020005B2 RID: 1458
		[Token(Token = "0x20005B2")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x1700037E RID: 894
			// (get) Token: 0x0600308C RID: 12428 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x1700037E")]
			public static EyeAdaptationModel.Settings defaultSettings
			{
				[Token(Token = "0x600308C")]
				[Address(RVA = "0x19BDBD0", Offset = "0x19BCBD0", VA = "0x1819BDBD0")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x04003975 RID: 14709
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x4003975")]
			[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: 0x04003976 RID: 14710
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x4003976")]
			[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: 0x04003977 RID: 14711
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x4003977")]
			[Tooltip("Minimum average luminance to consider for auto exposure (in EV).")]
			public float minLuminance;

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

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

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

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

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

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

			// Token: 0x0400397E RID: 14718
			[FieldOffset(Offset = "0x24")]
			[Token(Token = "0x400397E")]
			[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: 0x0400397F RID: 14719
			[FieldOffset(Offset = "0x28")]
			[Token(Token = "0x400397F")]
			[Range(1f, 16f)]
			[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.")]
			public int logMax;
		}
	}
}
