using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005AB RID: 1451
	[Token(Token = "0x20005AB")]
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x17000379 RID: 889
		// (get) Token: 0x0600307E RID: 12414 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x0600307F RID: 12415 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000379")]
		public DepthOfFieldModel.Settings settings
		{
			[Token(Token = "0x600307E")]
			[Address(RVA = "0x17E0380", Offset = "0x17DF380", VA = "0x1817E0380")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x600307F")]
			[Address(RVA = "0x17E03A0", Offset = "0x17DF3A0", VA = "0x1817E03A0")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06003080 RID: 12416 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003080")]
		[Address(RVA = "0x17E0310", Offset = "0x17DF310", VA = "0x1817E0310", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003081 RID: 12417 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003081")]
		[Address(RVA = "0x17E0340", Offset = "0x17DF340", VA = "0x1817E0340")]
		public DepthOfFieldModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003965 RID: 14693
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003965")]
		[SerializeField]
		private DepthOfFieldModel.Settings m_Settings;

		// Token: 0x020005AC RID: 1452
		[Token(Token = "0x20005AC")]
		public enum KernelSize
		{
			// Token: 0x04003967 RID: 14695
			[Token(Token = "0x4003967")]
			Small,
			// Token: 0x04003968 RID: 14696
			[Token(Token = "0x4003968")]
			Medium,
			// Token: 0x04003969 RID: 14697
			[Token(Token = "0x4003969")]
			Large,
			// Token: 0x0400396A RID: 14698
			[Token(Token = "0x400396A")]
			VeryLarge
		}

		// Token: 0x020005AD RID: 1453
		[Token(Token = "0x20005AD")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x1700037A RID: 890
			// (get) Token: 0x06003082 RID: 12418 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x1700037A")]
			public static DepthOfFieldModel.Settings defaultSettings
			{
				[Token(Token = "0x6003082")]
				[Address(RVA = "0x19BDE50", Offset = "0x19BCE50", VA = "0x1819BDE50")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x0400396B RID: 14699
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x400396B")]
			[Min(0.1f)]
			[Tooltip("Distance to the point of focus.")]
			public float focusDistance;

			// Token: 0x0400396C RID: 14700
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x400396C")]
			[Range(0.05f, 32f)]
			[Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")]
			public float aperture;

			// Token: 0x0400396D RID: 14701
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x400396D")]
			[Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")]
			[Range(1f, 300f)]
			public float focalLength;

			// Token: 0x0400396E RID: 14702
			[FieldOffset(Offset = "0xC")]
			[Token(Token = "0x400396E")]
			[Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera. Using this setting isn't recommended.")]
			public bool useCameraFov;

			// Token: 0x0400396F RID: 14703
			[FieldOffset(Offset = "0x10")]
			[Token(Token = "0x400396F")]
			[Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")]
			public DepthOfFieldModel.KernelSize kernelSize;
		}
	}
}
