using System;
using System.Runtime.InteropServices;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000572 RID: 1394
	[Serializable]
	public class MotionBlurModel : PostProcessingModel
	{
		// Token: 0x17003304 RID: 13060
		// (get) Token: 0x060096AC RID: 38572 RVA: 0x0026AC34 File Offset: 0x00268E34
		// (set) Token: 0x060096AD RID: 38573 RVA: 0x0026AC84 File Offset: 0x00268E84
		public unsafe MotionBlurModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
			[CallerCount(0)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref value;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x060096AE RID: 38574 RVA: 0x0026ACD8 File Offset: 0x00268ED8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616559, XrefRangeEnd = 616560, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Reset()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), MotionBlurModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096AF RID: 38575 RVA: 0x0026AD28 File Offset: 0x00268F28
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 616562, RefRangeEnd = 616563, XrefRangeStart = 616560, XrefRangeEnd = 616562, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe MotionBlurModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096B0 RID: 38576 RVA: 0x0026AD74 File Offset: 0x00268F74
		// Note: this type is marked as 'beforefieldinit'.
		static MotionBlurModel()
		{
			Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "MotionBlurModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr);
			MotionBlurModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, "m_Settings");
			MotionBlurModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675022);
			MotionBlurModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675023);
			MotionBlurModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675024);
			MotionBlurModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675025);
		}

		// Token: 0x060096B1 RID: 38577 RVA: 0x002671A0 File Offset: 0x002653A0
		public MotionBlurModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003303 RID: 13059
		// (get) Token: 0x060096B2 RID: 38578 RVA: 0x0026AE08 File Offset: 0x00269008
		// (set) Token: 0x060096B3 RID: 38579 RVA: 0x0026AE30 File Offset: 0x00269030
		public unsafe MotionBlurModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionBlurModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionBlurModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x04006507 RID: 25863
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006508 RID: 25864
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006509 RID: 25865
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x0400650A RID: 25866
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x0400650B RID: 25867
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000573 RID: 1395
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct Settings
		{
			// Token: 0x17003305 RID: 13061
			// (get) Token: 0x060096B4 RID: 38580 RVA: 0x0026AE54 File Offset: 0x00269054
			public unsafe static MotionBlurModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 616557, RefRangeEnd = 616559, XrefRangeStart = 616557, XrefRangeEnd = 616557, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x060096B5 RID: 38581 RVA: 0x0026AE98 File Offset: 0x00269098
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr);
				MotionBlurModel.Settings.NativeFieldInfoPtr_shutterAngle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "shutterAngle");
				MotionBlurModel.Settings.NativeFieldInfoPtr_sampleCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "sampleCount");
				MotionBlurModel.Settings.NativeFieldInfoPtr_frameBlending = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "frameBlending");
				MotionBlurModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, 100675026);
			}

			// Token: 0x060096B6 RID: 38582 RVA: 0x0026AF13 File Offset: 0x00269113
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x0400650C RID: 25868
			private static readonly IntPtr NativeFieldInfoPtr_shutterAngle;

			// Token: 0x0400650D RID: 25869
			private static readonly IntPtr NativeFieldInfoPtr_sampleCount;

			// Token: 0x0400650E RID: 25870
			private static readonly IntPtr NativeFieldInfoPtr_frameBlending;

			// Token: 0x0400650F RID: 25871
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x04006510 RID: 25872
			[FieldOffset(0)]
			public float shutterAngle;

			// Token: 0x04006511 RID: 25873
			[FieldOffset(4)]
			public int sampleCount;

			// Token: 0x04006512 RID: 25874
			[FieldOffset(8)]
			public float frameBlending;
		}
	}
}
