using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005B7 RID: 1463
	[Token(Token = "0x20005B7")]
	[Serializable]
	public class MotionBlurModel : PostProcessingModel
	{
		// Token: 0x17000383 RID: 899
		// (get) Token: 0x06003097 RID: 12439 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06003098 RID: 12440 RVA: 0x00069580 File Offset: 0x00067780
		[Token(Token = "0x17000383")]
		public MotionBlurModel.Settings settings
		{
			[Token(Token = "0x6003097")]
			[Address(RVA = "0x5429F0", Offset = "0x5419F0", VA = "0x1805429F0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6003098")]
			[Address(RVA = "0x542A20", Offset = "0x541A20", VA = "0x180542A20")]
			set
			{
				float frameBlending = value.frameBlending;
				this.m_Settings.frameBlending = frameBlending;
			}
		}

		// Token: 0x06003099 RID: 12441 RVA: 0x000695A0 File Offset: 0x000677A0
		[Token(Token = "0x6003099")]
		[Address(RVA = "0xC338D0", Offset = "0xC328D0", VA = "0x180C338D0", Slot = "4")]
		public override void Reset()
		{
			float frameBlending = MotionBlurModel.Settings.defaultSettings.frameBlending;
			this.m_Settings.frameBlending = frameBlending;
		}

		// Token: 0x0600309A RID: 12442 RVA: 0x000695C4 File Offset: 0x000677C4
		[Token(Token = "0x600309A")]
		[Address(RVA = "0xC33900", Offset = "0xC32900", VA = "0x180C33900")]
		public MotionBlurModel()
		{
			float frameBlending = MotionBlurModel.Settings.defaultSettings.frameBlending;
			this.m_Settings.frameBlending = frameBlending;
			base..ctor();
		}

		// Token: 0x04003987 RID: 14727
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003987")]
		[SerializeField]
		private MotionBlurModel.Settings m_Settings;

		// Token: 0x020005B8 RID: 1464
		[Token(Token = "0x20005B8")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x17000384 RID: 900
			// (get) Token: 0x0600309B RID: 12443 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x17000384")]
			public static MotionBlurModel.Settings defaultSettings
			{
				[Token(Token = "0x600309B")]
				[Address(RVA = "0x69D1F0", Offset = "0x69C1F0", VA = "0x18069D1F0")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

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

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

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