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

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200057E RID: 1406
	public sealed class ChromaticAberrationComponent : PostProcessingComponentRenderTexture<ChromaticAberrationModel>
	{
		// Token: 0x17003492 RID: 13458
		// (get) Token: 0x06009C09 RID: 39945 RVA: 0x002831E4 File Offset: 0x002813E4
		public unsafe override bool active
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647114, XrefRangeEnd = 647115, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChromaticAberrationComponent.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: 0x06009C0A RID: 39946 RVA: 0x00283234 File Offset: 0x00281434
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647115, XrefRangeEnd = 647117, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChromaticAberrationComponent.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C0B RID: 39947 RVA: 0x00283278 File Offset: 0x00281478
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647117, XrefRangeEnd = 647163, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Prepare(Material uberMaterial)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(uberMaterial);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChromaticAberrationComponent.NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009C0C RID: 39948 RVA: 0x002832D4 File Offset: 0x002814D4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 647166, RefRangeEnd = 647167, XrefRangeStart = 647163, XrefRangeEnd = 647166, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ChromaticAberrationComponent()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChromaticAberrationComponent.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C0D RID: 39949 RVA: 0x00283320 File Offset: 0x00281520
		// Note: this type is marked as 'beforefieldinit'.
		static ChromaticAberrationComponent()
		{
			Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "ChromaticAberrationComponent");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr);
			ChromaticAberrationComponent.NativeFieldInfoPtr_m_SpectrumLut = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, "m_SpectrumLut");
			ChromaticAberrationComponent.NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, 100675528);
			ChromaticAberrationComponent.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, 100675529);
			ChromaticAberrationComponent.NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, 100675530);
			ChromaticAberrationComponent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, 100675531);
		}

		// Token: 0x06009C0E RID: 39950 RVA: 0x002833B4 File Offset: 0x002815B4
		public ChromaticAberrationComponent(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003491 RID: 13457
		// (get) Token: 0x06009C0F RID: 39951 RVA: 0x002833C0 File Offset: 0x002815C0
		// (set) Token: 0x06009C10 RID: 39952 RVA: 0x002833F4 File Offset: 0x002815F4
		public unsafe Texture2D m_SpectrumLut
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChromaticAberrationComponent.NativeFieldInfoPtr_m_SpectrumLut);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Texture2D(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChromaticAberrationComponent.NativeFieldInfoPtr_m_SpectrumLut), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006836 RID: 26678
		private static readonly IntPtr NativeFieldInfoPtr_m_SpectrumLut;

		// Token: 0x04006837 RID: 26679
		private static readonly IntPtr NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0;

		// Token: 0x04006838 RID: 26680
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0;

		// Token: 0x04006839 RID: 26681
		private static readonly IntPtr NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0;

		// Token: 0x0400683A RID: 26682
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200057F RID: 1407
		public static class Uniforms : Object
		{
			// Token: 0x06009C11 RID: 39953 RVA: 0x0028341C File Offset: 0x0028161C
			// Note: this type is marked as 'beforefieldinit'.
			static Uniforms()
			{
				Il2CppClassPointerStore<ChromaticAberrationComponent.Uniforms>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ChromaticAberrationComponent>.NativeClassPtr, "Uniforms");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ChromaticAberrationComponent.Uniforms>.NativeClassPtr);
				ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Amount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ChromaticAberrationComponent.Uniforms>.NativeClassPtr, "_ChromaticAberration_Amount");
				ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Spectrum = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ChromaticAberrationComponent.Uniforms>.NativeClassPtr, "_ChromaticAberration_Spectrum");
			}

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

			// Token: 0x17003493 RID: 13459
			// (get) Token: 0x06009C13 RID: 39955 RVA: 0x00283470 File Offset: 0x00281670
			// (set) Token: 0x06009C14 RID: 39956 RVA: 0x0028348E File Offset: 0x0028168E
			public unsafe static int _ChromaticAberration_Amount
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Amount, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Amount, (void*)(&value));
				}
			}

			// Token: 0x17003494 RID: 13460
			// (get) Token: 0x06009C15 RID: 39957 RVA: 0x002834A0 File Offset: 0x002816A0
			// (set) Token: 0x06009C16 RID: 39958 RVA: 0x002834BE File Offset: 0x002816BE
			public unsafe static int _ChromaticAberration_Spectrum
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Spectrum, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ChromaticAberrationComponent.Uniforms.NativeFieldInfoPtr__ChromaticAberration_Spectrum, (void*)(&value));
				}
			}

			// Token: 0x0400683B RID: 26683
			private static readonly IntPtr NativeFieldInfoPtr__ChromaticAberration_Amount;

			// Token: 0x0400683C RID: 26684
			private static readonly IntPtr NativeFieldInfoPtr__ChromaticAberration_Spectrum;
		}
	}
}
