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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005CC RID: 1484
	[Serializable]
	public class ScreenSpaceReflectionModel : PostProcessingModel
	{
		// Token: 0x170035A2 RID: 13730
		// (get) Token: 0x06009F0A RID: 40714 RVA: 0x0028DC64 File Offset: 0x0028BE64
		// (set) Token: 0x06009F0B RID: 40715 RVA: 0x0028DCB4 File Offset: 0x0028BEB4
		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: 0x06009F0C RID: 40716 RVA: 0x0028DD08 File Offset: 0x0028BF08
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648875, XrefRangeEnd = 648876, 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: 0x06009F0D RID: 40717 RVA: 0x0028DD58 File Offset: 0x0028BF58
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648878, RefRangeEnd = 648879, XrefRangeStart = 648876, XrefRangeEnd = 648878, 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: 0x06009F0E RID: 40718 RVA: 0x0028DDA4 File Offset: 0x0028BFA4
		// 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, 100675740);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675741);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675742);
			ScreenSpaceReflectionModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ScreenSpaceReflectionModel>.NativeClassPtr, 100675743);
		}

		// Token: 0x06009F0F RID: 40719 RVA: 0x00289EDC File Offset: 0x002880DC
		public ScreenSpaceReflectionModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170035A1 RID: 13729
		// (get) Token: 0x06009F10 RID: 40720 RVA: 0x0028DE38 File Offset: 0x0028C038
		// (set) Token: 0x06009F11 RID: 40721 RVA: 0x0028DE60 File Offset: 0x0028C060
		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: 0x04006ABC RID: 27324
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006ABD RID: 27325
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006ABE RID: 27326
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006ABF RID: 27327
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006AC0 RID: 27328
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005CD RID: 1485
		public enum SSRResolution
		{
			// Token: 0x04006AC2 RID: 27330
			High,
			// Token: 0x04006AC3 RID: 27331
			Low = 2
		}

		// Token: 0x020005CE RID: 1486
		public enum SSRReflectionBlendType
		{
			// Token: 0x04006AC5 RID: 27333
			PhysicallyBased,
			// Token: 0x04006AC6 RID: 27334
			Additive
		}

		// Token: 0x020005CF RID: 1487
		[Serializable]
		[StructLayout(2)]
		public struct IntensitySettings
		{
			// Token: 0x06009F12 RID: 40722 RVA: 0x0028DE84 File Offset: 0x0028C084
			// 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: 0x06009F13 RID: 40723 RVA: 0x0028DEFF File Offset: 0x0028C0FF
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.IntensitySettings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006AC7 RID: 27335
			private static readonly IntPtr NativeFieldInfoPtr_reflectionMultiplier;

			// Token: 0x04006AC8 RID: 27336
			private static readonly IntPtr NativeFieldInfoPtr_fadeDistance;

			// Token: 0x04006AC9 RID: 27337
			private static readonly IntPtr NativeFieldInfoPtr_fresnelFade;

			// Token: 0x04006ACA RID: 27338
			private static readonly IntPtr NativeFieldInfoPtr_fresnelFadePower;

			// Token: 0x04006ACB RID: 27339
			[FieldOffset(0)]
			public float reflectionMultiplier;

			// Token: 0x04006ACC RID: 27340
			[FieldOffset(4)]
			public float fadeDistance;

			// Token: 0x04006ACD RID: 27341
			[FieldOffset(8)]
			public float fresnelFade;

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

		// Token: 0x020005D0 RID: 1488
		[Serializable]
		[StructLayout(2)]
		public struct ReflectionSettings
		{
			// Token: 0x06009F14 RID: 40724 RVA: 0x0028DF14 File Offset: 0x0028C114
			// 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: 0x06009F15 RID: 40725 RVA: 0x0028DFDF File Offset: 0x0028C1DF
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ReflectionSettings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006ACF RID: 27343
			private static readonly IntPtr NativeFieldInfoPtr_blendType;

			// Token: 0x04006AD0 RID: 27344
			private static readonly IntPtr NativeFieldInfoPtr_reflectionQuality;

			// Token: 0x04006AD1 RID: 27345
			private static readonly IntPtr NativeFieldInfoPtr_maxDistance;

			// Token: 0x04006AD2 RID: 27346
			private static readonly IntPtr NativeFieldInfoPtr_iterationCount;

			// Token: 0x04006AD3 RID: 27347
			private static readonly IntPtr NativeFieldInfoPtr_stepSize;

			// Token: 0x04006AD4 RID: 27348
			private static readonly IntPtr NativeFieldInfoPtr_widthModifier;

			// Token: 0x04006AD5 RID: 27349
			private static readonly IntPtr NativeFieldInfoPtr_reflectionBlur;

			// Token: 0x04006AD6 RID: 27350
			private static readonly IntPtr NativeFieldInfoPtr_reflectBackfaces;

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

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

			// Token: 0x04006AD9 RID: 27353
			[FieldOffset(8)]
			public float maxDistance;

			// Token: 0x04006ADA RID: 27354
			[FieldOffset(12)]
			public int iterationCount;

			// Token: 0x04006ADB RID: 27355
			[FieldOffset(16)]
			public int stepSize;

			// Token: 0x04006ADC RID: 27356
			[FieldOffset(20)]
			public float widthModifier;

			// Token: 0x04006ADD RID: 27357
			[FieldOffset(24)]
			public float reflectionBlur;

			// Token: 0x04006ADE RID: 27358
			[FieldOffset(28)]
			[MarshalAs(4)]
			public bool reflectBackfaces;
		}

		// Token: 0x020005D1 RID: 1489
		[Serializable]
		[StructLayout(2)]
		public struct ScreenEdgeMask
		{
			// Token: 0x06009F16 RID: 40726 RVA: 0x0028DFF1 File Offset: 0x0028C1F1
			// 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: 0x06009F17 RID: 40727 RVA: 0x0028E025 File Offset: 0x0028C225
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.ScreenEdgeMask>.NativeClassPtr, ref this));
			}

			// Token: 0x04006ADF RID: 27359
			private static readonly IntPtr NativeFieldInfoPtr_intensity;

			// Token: 0x04006AE0 RID: 27360
			[FieldOffset(0)]
			public float intensity;
		}

		// Token: 0x020005D2 RID: 1490
		[Serializable]
		[StructLayout(2)]
		public struct Settings
		{
			// Token: 0x170035A3 RID: 13731
			// (get) Token: 0x06009F18 RID: 40728 RVA: 0x0028E038 File Offset: 0x0028C238
			public unsafe static ScreenSpaceReflectionModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 648873, RefRangeEnd = 648875, XrefRangeStart = 648873, XrefRangeEnd = 648873, 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: 0x06009F19 RID: 40729 RVA: 0x0028E07C File Offset: 0x0028C27C
			// 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, 100675744);
			}

			// Token: 0x06009F1A RID: 40730 RVA: 0x0028E0F7 File Offset: 0x0028C2F7
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ScreenSpaceReflectionModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006AE1 RID: 27361
			private static readonly IntPtr NativeFieldInfoPtr_reflection;

			// Token: 0x04006AE2 RID: 27362
			private static readonly IntPtr NativeFieldInfoPtr_intensity;

			// Token: 0x04006AE3 RID: 27363
			private static readonly IntPtr NativeFieldInfoPtr_screenEdgeMask;

			// Token: 0x04006AE4 RID: 27364
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

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

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

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