using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200055F RID: 1375
	[Token(Token = "0x200055F")]
	[Serializable]
	public class MotionBlurModel : PostProcessingModel
	{
		// Token: 0x1700035E RID: 862
		// (get) Token: 0x06002DCE RID: 11726 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002DCF RID: 11727 RVA: 0x000622B0 File Offset: 0x000604B0
		[Token(Token = "0x1700035E")]
		public MotionBlurModel.Settings settings
		{
			[Token(Token = "0x6002DCE")]
			[Address(RVA = "0x5176C0", Offset = "0x5164C0", VA = "0x1805176C0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002DCF")]
			[Address(RVA = "0x5176F0", Offset = "0x5164F0", VA = "0x1805176F0")]
			set
			{
				float frameBlending = value.frameBlending;
				this.m_Settings.frameBlending = frameBlending;
			}
		}

		// Token: 0x06002DD0 RID: 11728 RVA: 0x000622D0 File Offset: 0x000604D0
		[Token(Token = "0x6002DD0")]
		[Address(RVA = "0xBC8C20", Offset = "0xBC7A20", VA = "0x180BC8C20", Slot = "4")]
		public override void Reset()
		{
			float frameBlending = MotionBlurModel.Settings.defaultSettings.frameBlending;
			this.m_Settings.frameBlending = frameBlending;
		}

		// Token: 0x06002DD1 RID: 11729 RVA: 0x000622F4 File Offset: 0x000604F4
		[Token(Token = "0x6002DD1")]
		[Address(RVA = "0xBC8C50", Offset = "0xBC7A50", VA = "0x180BC8C50")]
		public MotionBlurModel()
		{
			float frameBlending = MotionBlurModel.Settings.defaultSettings.frameBlending;
			this.m_Settings.frameBlending = frameBlending;
			base..ctor();
		}

		// Token: 0x0400369D RID: 13981
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x400369D")]
		[SerializeField]
		private MotionBlurModel.Settings m_Settings;

		// Token: 0x02000560 RID: 1376
		[Token(Token = "0x2000560")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x1700035F RID: 863
			// (get) Token: 0x06002DD2 RID: 11730 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x1700035F")]
			public static MotionBlurModel.Settings defaultSettings
			{
				[Token(Token = "0x6002DD2")]
				[Address(RVA = "0x6A19C0", Offset = "0x6A07C0", VA = "0x1806A19C0")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x0400369E RID: 13982
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x400369E")]
			[Tooltip("The angle of rotary shutter. Larger values give longer exposure.")]
			[Range(0f, 360f)]
			public float shutterAngle;

			// Token: 0x0400369F RID: 13983
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x400369F")]
			[Range(4f, 32f)]
			[Tooltip("The amount of sample points, which affects quality and performances.")]
			public int sampleCount;

			// Token: 0x040036A0 RID: 13984
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x40036A0")]
			[Range(0f, 1f)]
			[Tooltip("The strength of multiple frame blending. The opacity of preceding frames are determined from this coefficient and time differences.")]
			public float frameBlending;
		}
	}
}
