using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000578 RID: 1400
	public sealed class BloomComponent : PostProcessingComponentRenderTexture<BloomModel>
	{
		// Token: 0x17003476 RID: 13430
		// (get) Token: 0x06009BB6 RID: 39862 RVA: 0x00281FEC File Offset: 0x002801EC
		public unsafe override bool active
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 646831, XrefRangeEnd = 646832, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BloomComponent.NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009BB7 RID: 39863 RVA: 0x0028203C File Offset: 0x0028023C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 646925, RefRangeEnd = 646926, XrefRangeStart = 646832, XrefRangeEnd = 646925, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Prepare(RenderTexture source, Material uberMaterial, Texture autoExposure)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(source);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(uberMaterial);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(autoExposure);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BloomComponent.NativeMethodInfoPtr_Prepare_Public_Void_RenderTexture_Material_Texture_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009BB8 RID: 39864 RVA: 0x002820C8 File Offset: 0x002802C8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 646936, RefRangeEnd = 646937, XrefRangeStart = 646926, XrefRangeEnd = 646936, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe BloomComponent()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BloomComponent.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009BB9 RID: 39865 RVA: 0x00282114 File Offset: 0x00280314
		// Note: this type is marked as 'beforefieldinit'.
		static BloomComponent()
		{
			Il2CppClassPointerStore<BloomComponent>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "BloomComponent");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr);
			BloomComponent.NativeFieldInfoPtr_k_MaxPyramidBlurLevel = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, "k_MaxPyramidBlurLevel");
			BloomComponent.NativeFieldInfoPtr_m_BlurBuffer1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, "m_BlurBuffer1");
			BloomComponent.NativeFieldInfoPtr_m_BlurBuffer2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, "m_BlurBuffer2");
			BloomComponent.NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, 100675503);
			BloomComponent.NativeMethodInfoPtr_Prepare_Public_Void_RenderTexture_Material_Texture_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, 100675504);
			BloomComponent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, 100675505);
		}

		// Token: 0x06009BBA RID: 39866 RVA: 0x002821BC File Offset: 0x002803BC
		public BloomComponent(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003473 RID: 13427
		// (get) Token: 0x06009BBB RID: 39867 RVA: 0x002821C8 File Offset: 0x002803C8
		// (set) Token: 0x06009BBC RID: 39868 RVA: 0x002821E6 File Offset: 0x002803E6
		public unsafe static int k_MaxPyramidBlurLevel
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(BloomComponent.NativeFieldInfoPtr_k_MaxPyramidBlurLevel, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(BloomComponent.NativeFieldInfoPtr_k_MaxPyramidBlurLevel, (void*)(&value));
			}
		}

		// Token: 0x17003474 RID: 13428
		// (get) Token: 0x06009BBD RID: 39869 RVA: 0x002821F8 File Offset: 0x002803F8
		// (set) Token: 0x06009BBE RID: 39870 RVA: 0x0028222C File Offset: 0x0028042C
		public unsafe Il2CppReferenceArray<RenderTexture> m_BlurBuffer1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomComponent.NativeFieldInfoPtr_m_BlurBuffer1);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<RenderTexture>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomComponent.NativeFieldInfoPtr_m_BlurBuffer1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003475 RID: 13429
		// (get) Token: 0x06009BBF RID: 39871 RVA: 0x00282254 File Offset: 0x00280454
		// (set) Token: 0x06009BC0 RID: 39872 RVA: 0x00282288 File Offset: 0x00280488
		public unsafe Il2CppReferenceArray<RenderTexture> m_BlurBuffer2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomComponent.NativeFieldInfoPtr_m_BlurBuffer2);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<RenderTexture>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomComponent.NativeFieldInfoPtr_m_BlurBuffer2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006800 RID: 26624
		private static readonly IntPtr NativeFieldInfoPtr_k_MaxPyramidBlurLevel;

		// Token: 0x04006801 RID: 26625
		private static readonly IntPtr NativeFieldInfoPtr_m_BlurBuffer1;

		// Token: 0x04006802 RID: 26626
		private static readonly IntPtr NativeFieldInfoPtr_m_BlurBuffer2;

		// Token: 0x04006803 RID: 26627
		private static readonly IntPtr NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0;

		// Token: 0x04006804 RID: 26628
		private static readonly IntPtr NativeMethodInfoPtr_Prepare_Public_Void_RenderTexture_Material_Texture_0;

		// Token: 0x04006805 RID: 26629
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000579 RID: 1401
		public static class Uniforms : Object
		{
			// Token: 0x06009BC1 RID: 39873 RVA: 0x002822B0 File Offset: 0x002804B0
			// Note: this type is marked as 'beforefieldinit'.
			static Uniforms()
			{
				Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, "Uniforms");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr);
				BloomComponent.Uniforms.NativeFieldInfoPtr__AutoExposure = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_AutoExposure");
				BloomComponent.Uniforms.NativeFieldInfoPtr__Threshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_Threshold");
				BloomComponent.Uniforms.NativeFieldInfoPtr__Curve = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_Curve");
				BloomComponent.Uniforms.NativeFieldInfoPtr__PrefilterOffs = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_PrefilterOffs");
				BloomComponent.Uniforms.NativeFieldInfoPtr__SampleScale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_SampleScale");
				BloomComponent.Uniforms.NativeFieldInfoPtr__BaseTex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_BaseTex");
				BloomComponent.Uniforms.NativeFieldInfoPtr__BloomTex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_BloomTex");
				BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_Bloom_Settings");
				BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtTex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_Bloom_DirtTex");
				BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtIntensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomComponent.Uniforms>.NativeClassPtr, "_Bloom_DirtIntensity");
			}

			// Token: 0x06009BC2 RID: 39874 RVA: 0x0000A74C File Offset: 0x0000894C
			public Uniforms(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003477 RID: 13431
			// (get) Token: 0x06009BC3 RID: 39875 RVA: 0x002823A4 File Offset: 0x002805A4
			// (set) Token: 0x06009BC4 RID: 39876 RVA: 0x002823C2 File Offset: 0x002805C2
			public unsafe static int _AutoExposure
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__AutoExposure, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__AutoExposure, (void*)(&value));
				}
			}

			// Token: 0x17003478 RID: 13432
			// (get) Token: 0x06009BC5 RID: 39877 RVA: 0x002823D4 File Offset: 0x002805D4
			// (set) Token: 0x06009BC6 RID: 39878 RVA: 0x002823F2 File Offset: 0x002805F2
			public unsafe static int _Threshold
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Threshold, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Threshold, (void*)(&value));
				}
			}

			// Token: 0x17003479 RID: 13433
			// (get) Token: 0x06009BC7 RID: 39879 RVA: 0x00282404 File Offset: 0x00280604
			// (set) Token: 0x06009BC8 RID: 39880 RVA: 0x00282422 File Offset: 0x00280622
			public unsafe static int _Curve
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Curve, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Curve, (void*)(&value));
				}
			}

			// Token: 0x1700347A RID: 13434
			// (get) Token: 0x06009BC9 RID: 39881 RVA: 0x00282434 File Offset: 0x00280634
			// (set) Token: 0x06009BCA RID: 39882 RVA: 0x00282452 File Offset: 0x00280652
			public unsafe static int _PrefilterOffs
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__PrefilterOffs, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__PrefilterOffs, (void*)(&value));
				}
			}

			// Token: 0x1700347B RID: 13435
			// (get) Token: 0x06009BCB RID: 39883 RVA: 0x00282464 File Offset: 0x00280664
			// (set) Token: 0x06009BCC RID: 39884 RVA: 0x00282482 File Offset: 0x00280682
			public unsafe static int _SampleScale
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__SampleScale, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__SampleScale, (void*)(&value));
				}
			}

			// Token: 0x1700347C RID: 13436
			// (get) Token: 0x06009BCD RID: 39885 RVA: 0x00282494 File Offset: 0x00280694
			// (set) Token: 0x06009BCE RID: 39886 RVA: 0x002824B2 File Offset: 0x002806B2
			public unsafe static int _BaseTex
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__BaseTex, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__BaseTex, (void*)(&value));
				}
			}

			// Token: 0x1700347D RID: 13437
			// (get) Token: 0x06009BCF RID: 39887 RVA: 0x002824C4 File Offset: 0x002806C4
			// (set) Token: 0x06009BD0 RID: 39888 RVA: 0x002824E2 File Offset: 0x002806E2
			public unsafe static int _BloomTex
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__BloomTex, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__BloomTex, (void*)(&value));
				}
			}

			// Token: 0x1700347E RID: 13438
			// (get) Token: 0x06009BD1 RID: 39889 RVA: 0x002824F4 File Offset: 0x002806F4
			// (set) Token: 0x06009BD2 RID: 39890 RVA: 0x00282512 File Offset: 0x00280712
			public unsafe static int _Bloom_Settings
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_Settings, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_Settings, (void*)(&value));
				}
			}

			// Token: 0x1700347F RID: 13439
			// (get) Token: 0x06009BD3 RID: 39891 RVA: 0x00282524 File Offset: 0x00280724
			// (set) Token: 0x06009BD4 RID: 39892 RVA: 0x00282542 File Offset: 0x00280742
			public unsafe static int _Bloom_DirtTex
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtTex, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtTex, (void*)(&value));
				}
			}

			// Token: 0x17003480 RID: 13440
			// (get) Token: 0x06009BD5 RID: 39893 RVA: 0x00282554 File Offset: 0x00280754
			// (set) Token: 0x06009BD6 RID: 39894 RVA: 0x00282572 File Offset: 0x00280772
			public unsafe static int _Bloom_DirtIntensity
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtIntensity, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(BloomComponent.Uniforms.NativeFieldInfoPtr__Bloom_DirtIntensity, (void*)(&value));
				}
			}

			// Token: 0x04006806 RID: 26630
			private static readonly IntPtr NativeFieldInfoPtr__AutoExposure;

			// Token: 0x04006807 RID: 26631
			private static readonly IntPtr NativeFieldInfoPtr__Threshold;

			// Token: 0x04006808 RID: 26632
			private static readonly IntPtr NativeFieldInfoPtr__Curve;

			// Token: 0x04006809 RID: 26633
			private static readonly IntPtr NativeFieldInfoPtr__PrefilterOffs;

			// Token: 0x0400680A RID: 26634
			private static readonly IntPtr NativeFieldInfoPtr__SampleScale;

			// Token: 0x0400680B RID: 26635
			private static readonly IntPtr NativeFieldInfoPtr__BaseTex;

			// Token: 0x0400680C RID: 26636
			private static readonly IntPtr NativeFieldInfoPtr__BloomTex;

			// Token: 0x0400680D RID: 26637
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_Settings;

			// Token: 0x0400680E RID: 26638
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_DirtTex;

			// Token: 0x0400680F RID: 26639
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_DirtIntensity;
		}
	}
}
