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

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000574 RID: 1396
	[Serializable]
	public class ScreenSpaceReflectionModel : PostProcessingModel
	{
		// Token: 0x17003307 RID: 13063
		// (get) Token: 0x060096B7 RID: 38583 RVA: 0x0026AF28 File Offset: 0x00269128
		// (set) Token: 0x060096B8 RID: 38584 RVA: 0x0026AF78 File Offset: 0x00269178
		public unsafe ScreenSpaceReflectionModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ScreenSpaceReflectionModel.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(ScreenSpaceReflectionModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x060096B9 RID: 38585 RVA: 0x0026AFCC File Offset: 0x002691CC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616565, XrefRangeEnd = 616566, 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), ScreenSpaceReflectionModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096BA RID: 38586 RVA: 0x0026B01C File Offset: 0x0026921C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 616568, RefRangeEnd = 616569, XrefRangeStart = 616566, XrefRangeEnd = 616568, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ScreenSpaceReflectionModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ScreenSpaceReflectionModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096BB RID: 38587 RVA: 0x0026B068 File Offset: 0x00269268
		// Note: this type is marked as 'beforefieldinit'.
		static ScreenSpaceReflectionModel()
		{
			Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "ScreenSpaceReflectionModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr);
			ScreenSpaceReflectionModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, "m_Settings");
			ScreenSpaceReflectionModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675027);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675028);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675029);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675030);
		}

		// Token: 0x060096BC RID: 38588 RVA: 0x002671A0 File Offset: 0x002653A0
		public ScreenSpaceReflectionModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003306 RID: 13062
		// (get) Token: 0x060096BD RID: 38589 RVA: 0x0026B0FC File Offset: 0x002692FC
		// (set) Token: 0x060096BE RID: 38590 RVA: 0x0026B124 File Offset: 0x00269324
		public unsafe ScreenSpaceReflectionModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ScreenSpaceReflectionModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ScreenSpaceReflectionModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x04006513 RID: 25875
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006514 RID: 25876
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006515 RID: 25877
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006516 RID: 25878
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006517 RID: 25879
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000575 RID: 1397
		public enum SSRResolution
		{
			// Token: 0x04006519 RID: 25881
			High,
			// Token: 0x0400651A RID: 25882
			Low = 2
		}

		// Token: 0x02000576 RID: 1398
		public enum SSRReflectionBlendType
		{
			// Token: 0x0400651C RID: 25884
			PhysicallyBased,
			// Token: 0x0400651D RID: 25885
			Additive
		}

		// Token: 0x02000577 RID: 1399
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct IntensitySettings
		{
			// Token: 0x060096BF RID: 38591 RVA: 0x0026B148 File Offset: 0x00269348
			// Note: this type is marked as 'beforefieldinit'.
			static IntensitySettings()
			{
				Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, "IntensitySettings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr);
				ScreenSpaceReflectionModel.IntensitySettings.NativeFieldInfoPtr_reflectionMultiplier = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, "reflectionMultiplier");
				ScreenSpaceReflectionModel.IntensitySettings.NativeFieldInfoPtr_fadeDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, "fadeDistance");
				ScreenSpaceReflectionModel.IntensitySettings.NativeFieldInfoPtr_fresnelFade = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, "fresnelFade");
				ScreenSpaceReflectionModel.IntensitySettings.NativeFieldInfoPtr_fresnelFadePower = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, "fresnelFadePower");
			}

			// Token: 0x060096C0 RID: 38592 RVA: 0x0026B1C3 File Offset: 0x002693C3
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, ref this));
			}

			// Token: 0x0400651E RID: 25886
			private static readonly IntPtr NativeFieldInfoPtr_reflectionMultiplier;

			// Token: 0x0400651F RID: 25887
			private static readonly IntPtr NativeFieldInfoPtr_fadeDistance;

			// Token: 0x04006520 RID: 25888
			private static readonly IntPtr NativeFieldInfoPtr_fresnelFade;

			// Token: 0x04006521 RID: 25889
			private static readonly IntPtr NativeFieldInfoPtr_fresnelFadePower;

			// Token: 0x04006522 RID: 25890
			[FieldOffset(0)]
			public float reflectionMultiplier;

			// Token: 0x04006523 RID: 25891
			[FieldOffset(4)]
			public float fadeDistance;

			// Token: 0x04006524 RID: 25892
			[FieldOffset(8)]
			public float fresnelFade;

			// Token: 0x04006525 RID: 25893
			[FieldOffset(12)]
			public float fresnelFadePower;
		}

		// Token: 0x02000578 RID: 1400
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct ReflectionSettings
		{
			// Token: 0x060096C1 RID: 38593 RVA: 0x0026B1D8 File Offset: 0x002693D8
			// Note: this type is marked as 'beforefieldinit'.
			static ReflectionSettings()
			{
				Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, "ReflectionSettings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr);
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_blendType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "blendType");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_reflectionQuality = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "reflectionQuality");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_maxDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "maxDistance");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_iterationCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "iterationCount");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_stepSize = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "stepSize");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_widthModifier = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "widthModifier");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_reflectionBlur = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "reflectionBlur");
				ScreenSpaceReflectionModel.ReflectionSettings.NativeFieldInfoPtr_reflectBackfaces = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, "reflectBackfaces");
			}

			// Token: 0x060096C2 RID: 38594 RVA: 0x0026B2A3 File Offset: 0x002694A3
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006526 RID: 25894
			private static readonly IntPtr NativeFieldInfoPtr_blendType;

			// Token: 0x04006527 RID: 25895
			private static readonly IntPtr NativeFieldInfoPtr_reflectionQuality;

			// Token: 0x04006528 RID: 25896
			private static readonly IntPtr NativeFieldInfoPtr_maxDistance;

			// Token: 0x04006529 RID: 25897
			private static readonly IntPtr NativeFieldInfoPtr_iterationCount;

			// Token: 0x0400652A RID: 25898
			private static readonly IntPtr NativeFieldInfoPtr_stepSize;

			// Token: 0x0400652B RID: 25899
			private static readonly IntPtr NativeFieldInfoPtr_widthModifier;

			// Token: 0x0400652C RID: 25900
			private static readonly IntPtr NativeFieldInfoPtr_reflectionBlur;

			// Token: 0x0400652D RID: 25901
			private static readonly IntPtr NativeFieldInfoPtr_reflectBackfaces;

			// Token: 0x0400652E RID: 25902
			[FieldOffset(0)]
			public ScreenSpaceReflectionModel.SSRReflectionBlendType blendType;

			// Token: 0x0400652F RID: 25903
			[FieldOffset(4)]
			public ScreenSpaceReflectionModel.SSRResolution reflectionQuality;

			// Token: 0x04006530 RID: 25904
			[FieldOffset(8)]
			public float maxDistance;

			// Token: 0x04006531 RID: 25905
			[FieldOffset(12)]
			public int iterationCount;

			// Token: 0x04006532 RID: 25906
			[FieldOffset(16)]
			public int stepSize;

			// Token: 0x04006533 RID: 25907
			[FieldOffset(20)]
			public float widthModifier;

			// Token: 0x04006534 RID: 25908
			[FieldOffset(24)]
			public float reflectionBlur;

			// Token: 0x04006535 RID: 25909
			[FieldOffset(28)]
			[MarshalAs(UnmanagedType.U1)]
			public bool reflectBackfaces;
		}

		// Token: 0x02000579 RID: 1401
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct ScreenEdgeMask
		{
			// Token: 0x060096C3 RID: 38595 RVA: 0x0026B2B5 File Offset: 0x002694B5
			// Note: this type is marked as 'beforefieldinit'.
			static ScreenEdgeMask()
			{
				Il2CppClassPointerStore<ScreenSpaceReflectionModel.ScreenEdgeMask>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, "ScreenEdgeMask");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ScreenEdgeMask>.NativeClassPtr);
				ScreenSpaceReflectionModel.ScreenEdgeMask.NativeFieldInfoPtr_intensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ScreenEdgeMask>.NativeClassPtr, "intensity");
			}

			// Token: 0x060096C4 RID: 38596 RVA: 0x0026B2E9 File Offset: 0x002694E9
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ScreenEdgeMask>.NativeClassPtr, ref this));
			}

			// Token: 0x04006536 RID: 25910
			private static readonly IntPtr NativeFieldInfoPtr_intensity;

			// Token: 0x04006537 RID: 25911
			[FieldOffset(0)]
			public float intensity;
		}

		// Token: 0x0200057A RID: 1402
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct Settings
		{
			// Token: 0x17003308 RID: 13064
			// (get) Token: 0x060096C5 RID: 38597 RVA: 0x0026B2FC File Offset: 0x002694FC
			public unsafe static ScreenSpaceReflectionModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 616563, RefRangeEnd = 616565, XrefRangeStart = 616563, XrefRangeEnd = 616563, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ScreenSpaceReflectionModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x060096C6 RID: 38598 RVA: 0x0026B340 File Offset: 0x00269540
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr);
				ScreenSpaceReflectionModel.Settings.NativeFieldInfoPtr_reflection = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, "reflection");
				ScreenSpaceReflectionModel.Settings.NativeFieldInfoPtr_intensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, "intensity");
				ScreenSpaceReflectionModel.Settings.NativeFieldInfoPtr_screenEdgeMask = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, "screenEdgeMask");
				ScreenSpaceReflectionModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, 100675031);
			}

			// Token: 0x060096C7 RID: 38599 RVA: 0x0026B3BB File Offset: 0x002695BB
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006538 RID: 25912
			private static readonly IntPtr NativeFieldInfoPtr_reflection;

			// Token: 0x04006539 RID: 25913
			private static readonly IntPtr NativeFieldInfoPtr_intensity;

			// Token: 0x0400653A RID: 25914
			private static readonly IntPtr NativeFieldInfoPtr_screenEdgeMask;

			// Token: 0x0400653B RID: 25915
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x0400653C RID: 25916
			[FieldOffset(0)]
			public ScreenSpaceReflectionModel.ReflectionSettings reflection;

			// Token: 0x0400653D RID: 25917
			[FieldOffset(32)]
			public ScreenSpaceReflectionModel.IntensitySettings intensity;

			// Token: 0x0400653E RID: 25918
			[FieldOffset(48)]
			public ScreenSpaceReflectionModel.ScreenEdgeMask screenEdgeMask;
		}
	}
}
