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

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000520 RID: 1312
	public sealed class BloomComponent : PostProcessingComponentRenderTexture<BloomModel>
	{
		// Token: 0x170031DB RID: 12763
		// (get) Token: 0x06009363 RID: 37731 RVA: 0x0025F2B0 File Offset: 0x0025D4B0
		public unsafe override bool active
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 614521, XrefRangeEnd = 614522, 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: 0x06009364 RID: 37732 RVA: 0x0025F300 File Offset: 0x0025D500
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 614615, RefRangeEnd = 614616, XrefRangeStart = 614522, XrefRangeEnd = 614615, 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: 0x06009365 RID: 37733 RVA: 0x0025F38C File Offset: 0x0025D58C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 614626, RefRangeEnd = 614627, XrefRangeStart = 614616, XrefRangeEnd = 614626, 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: 0x06009366 RID: 37734 RVA: 0x0025F3D8 File Offset: 0x0025D5D8
		// 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, 100674790);
			BloomComponent.NativeMethodInfoPtr_Prepare_Public_Void_RenderTexture_Material_Texture_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, 100674791);
			BloomComponent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomComponent>.NativeClassPtr, 100674792);
		}

		// Token: 0x06009367 RID: 37735 RVA: 0x0025F480 File Offset: 0x0025D680
		public BloomComponent(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170031D8 RID: 12760
		// (get) Token: 0x06009368 RID: 37736 RVA: 0x0025F48C File Offset: 0x0025D68C
		// (set) Token: 0x06009369 RID: 37737 RVA: 0x0025F4AA File Offset: 0x0025D6AA
		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: 0x170031D9 RID: 12761
		// (get) Token: 0x0600936A RID: 37738 RVA: 0x0025F4BC File Offset: 0x0025D6BC
		// (set) Token: 0x0600936B RID: 37739 RVA: 0x0025F4F0 File Offset: 0x0025D6F0
		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: 0x170031DA RID: 12762
		// (get) Token: 0x0600936C RID: 37740 RVA: 0x0025F518 File Offset: 0x0025D718
		// (set) Token: 0x0600936D RID: 37741 RVA: 0x0025F54C File Offset: 0x0025D74C
		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: 0x04006257 RID: 25175
		private static readonly IntPtr NativeFieldInfoPtr_k_MaxPyramidBlurLevel;

		// Token: 0x04006258 RID: 25176
		private static readonly IntPtr NativeFieldInfoPtr_m_BlurBuffer1;

		// Token: 0x04006259 RID: 25177
		private static readonly IntPtr NativeFieldInfoPtr_m_BlurBuffer2;

		// Token: 0x0400625A RID: 25178
		private static readonly IntPtr NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0;

		// Token: 0x0400625B RID: 25179
		private static readonly IntPtr NativeMethodInfoPtr_Prepare_Public_Void_RenderTexture_Material_Texture_0;

		// Token: 0x0400625C RID: 25180
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000521 RID: 1313
		public static class Uniforms : Object
		{
			// Token: 0x0600936E RID: 37742 RVA: 0x0025F574 File Offset: 0x0025D774
			// 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: 0x0600936F RID: 37743 RVA: 0x0000A688 File Offset: 0x00008888
			public Uniforms(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170031DC RID: 12764
			// (get) Token: 0x06009370 RID: 37744 RVA: 0x0025F668 File Offset: 0x0025D868
			// (set) Token: 0x06009371 RID: 37745 RVA: 0x0025F686 File Offset: 0x0025D886
			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: 0x170031DD RID: 12765
			// (get) Token: 0x06009372 RID: 37746 RVA: 0x0025F698 File Offset: 0x0025D898
			// (set) Token: 0x06009373 RID: 37747 RVA: 0x0025F6B6 File Offset: 0x0025D8B6
			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: 0x170031DE RID: 12766
			// (get) Token: 0x06009374 RID: 37748 RVA: 0x0025F6C8 File Offset: 0x0025D8C8
			// (set) Token: 0x06009375 RID: 37749 RVA: 0x0025F6E6 File Offset: 0x0025D8E6
			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: 0x170031DF RID: 12767
			// (get) Token: 0x06009376 RID: 37750 RVA: 0x0025F6F8 File Offset: 0x0025D8F8
			// (set) Token: 0x06009377 RID: 37751 RVA: 0x0025F716 File Offset: 0x0025D916
			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: 0x170031E0 RID: 12768
			// (get) Token: 0x06009378 RID: 37752 RVA: 0x0025F728 File Offset: 0x0025D928
			// (set) Token: 0x06009379 RID: 37753 RVA: 0x0025F746 File Offset: 0x0025D946
			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: 0x170031E1 RID: 12769
			// (get) Token: 0x0600937A RID: 37754 RVA: 0x0025F758 File Offset: 0x0025D958
			// (set) Token: 0x0600937B RID: 37755 RVA: 0x0025F776 File Offset: 0x0025D976
			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: 0x170031E2 RID: 12770
			// (get) Token: 0x0600937C RID: 37756 RVA: 0x0025F788 File Offset: 0x0025D988
			// (set) Token: 0x0600937D RID: 37757 RVA: 0x0025F7A6 File Offset: 0x0025D9A6
			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: 0x170031E3 RID: 12771
			// (get) Token: 0x0600937E RID: 37758 RVA: 0x0025F7B8 File Offset: 0x0025D9B8
			// (set) Token: 0x0600937F RID: 37759 RVA: 0x0025F7D6 File Offset: 0x0025D9D6
			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: 0x170031E4 RID: 12772
			// (get) Token: 0x06009380 RID: 37760 RVA: 0x0025F7E8 File Offset: 0x0025D9E8
			// (set) Token: 0x06009381 RID: 37761 RVA: 0x0025F806 File Offset: 0x0025DA06
			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: 0x170031E5 RID: 12773
			// (get) Token: 0x06009382 RID: 37762 RVA: 0x0025F818 File Offset: 0x0025DA18
			// (set) Token: 0x06009383 RID: 37763 RVA: 0x0025F836 File Offset: 0x0025DA36
			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: 0x0400625D RID: 25181
			private static readonly IntPtr NativeFieldInfoPtr__AutoExposure;

			// Token: 0x0400625E RID: 25182
			private static readonly IntPtr NativeFieldInfoPtr__Threshold;

			// Token: 0x0400625F RID: 25183
			private static readonly IntPtr NativeFieldInfoPtr__Curve;

			// Token: 0x04006260 RID: 25184
			private static readonly IntPtr NativeFieldInfoPtr__PrefilterOffs;

			// Token: 0x04006261 RID: 25185
			private static readonly IntPtr NativeFieldInfoPtr__SampleScale;

			// Token: 0x04006262 RID: 25186
			private static readonly IntPtr NativeFieldInfoPtr__BaseTex;

			// Token: 0x04006263 RID: 25187
			private static readonly IntPtr NativeFieldInfoPtr__BloomTex;

			// Token: 0x04006264 RID: 25188
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_Settings;

			// Token: 0x04006265 RID: 25189
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_DirtTex;

			// Token: 0x04006266 RID: 25190
			private static readonly IntPtr NativeFieldInfoPtr__Bloom_DirtIntensity;
		}
	}
}
