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

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x020005BB RID: 1467
	public class BlurOptimized : PostEffectsBase
	{
		// Token: 0x06009A4B RID: 39499 RVA: 0x002791EC File Offset: 0x002773EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618982, XrefRangeEnd = 618986, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool CheckResources()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), BlurOptimized.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06009A4C RID: 39500 RVA: 0x00279248 File Offset: 0x00277448
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618986, XrefRangeEnd = 618993, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BlurOptimized.NativeMethodInfoPtr_OnDisable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A4D RID: 39501 RVA: 0x0027928C File Offset: 0x0027748C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618993, XrefRangeEnd = 619024, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnRenderImage(RenderTexture source, RenderTexture destination)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(source);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(destination);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BlurOptimized.NativeMethodInfoPtr_OnRenderImage_Public_Void_RenderTexture_RenderTexture_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A4E RID: 39502 RVA: 0x00279300 File Offset: 0x00277500
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 619024, XrefRangeEnd = 619025, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe BlurOptimized()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BlurOptimized.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A4F RID: 39503 RVA: 0x0027934C File Offset: 0x0027754C
		// Note: this type is marked as 'beforefieldinit'.
		static BlurOptimized()
		{
			Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.ImageEffects", "BlurOptimized");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr);
			BlurOptimized.NativeFieldInfoPtr_downsample = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "downsample");
			BlurOptimized.NativeFieldInfoPtr_blurSize = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "blurSize");
			BlurOptimized.NativeFieldInfoPtr_blurIterations = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "blurIterations");
			BlurOptimized.NativeFieldInfoPtr_blurType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "blurType");
			BlurOptimized.NativeFieldInfoPtr_blurShader = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "blurShader");
			BlurOptimized.NativeFieldInfoPtr_blurMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, "blurMaterial");
			BlurOptimized.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, 100675258);
			BlurOptimized.NativeMethodInfoPtr_OnDisable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, 100675259);
			BlurOptimized.NativeMethodInfoPtr_OnRenderImage_Public_Void_RenderTexture_RenderTexture_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, 100675260);
			BlurOptimized.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BlurOptimized>.NativeClassPtr, 100675261);
		}

		// Token: 0x06009A50 RID: 39504 RVA: 0x00275EC4 File Offset: 0x002740C4
		public BlurOptimized(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700344A RID: 13386
		// (get) Token: 0x06009A51 RID: 39505 RVA: 0x00279444 File Offset: 0x00277644
		// (set) Token: 0x06009A52 RID: 39506 RVA: 0x0027946C File Offset: 0x0027766C
		public unsafe int downsample
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_downsample);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_downsample)) = value;
			}
		}

		// Token: 0x1700344B RID: 13387
		// (get) Token: 0x06009A53 RID: 39507 RVA: 0x00279490 File Offset: 0x00277690
		// (set) Token: 0x06009A54 RID: 39508 RVA: 0x002794B8 File Offset: 0x002776B8
		public unsafe float blurSize
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurSize);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurSize)) = value;
			}
		}

		// Token: 0x1700344C RID: 13388
		// (get) Token: 0x06009A55 RID: 39509 RVA: 0x002794DC File Offset: 0x002776DC
		// (set) Token: 0x06009A56 RID: 39510 RVA: 0x00279504 File Offset: 0x00277704
		public unsafe int blurIterations
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurIterations);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurIterations)) = value;
			}
		}

		// Token: 0x1700344D RID: 13389
		// (get) Token: 0x06009A57 RID: 39511 RVA: 0x00279528 File Offset: 0x00277728
		// (set) Token: 0x06009A58 RID: 39512 RVA: 0x00279550 File Offset: 0x00277750
		public unsafe BlurOptimized.BlurType blurType
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurType);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurType)) = value;
			}
		}

		// Token: 0x1700344E RID: 13390
		// (get) Token: 0x06009A59 RID: 39513 RVA: 0x00279574 File Offset: 0x00277774
		// (set) Token: 0x06009A5A RID: 39514 RVA: 0x002795A8 File Offset: 0x002777A8
		public unsafe Shader blurShader
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurShader);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Shader(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurShader), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700344F RID: 13391
		// (get) Token: 0x06009A5B RID: 39515 RVA: 0x002795D0 File Offset: 0x002777D0
		// (set) Token: 0x06009A5C RID: 39516 RVA: 0x00279604 File Offset: 0x00277804
		public unsafe Material blurMaterial
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurMaterial);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Material(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BlurOptimized.NativeFieldInfoPtr_blurMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400677C RID: 26492
		private static readonly IntPtr NativeFieldInfoPtr_downsample;

		// Token: 0x0400677D RID: 26493
		private static readonly IntPtr NativeFieldInfoPtr_blurSize;

		// Token: 0x0400677E RID: 26494
		private static readonly IntPtr NativeFieldInfoPtr_blurIterations;

		// Token: 0x0400677F RID: 26495
		private static readonly IntPtr NativeFieldInfoPtr_blurType;

		// Token: 0x04006780 RID: 26496
		private static readonly IntPtr NativeFieldInfoPtr_blurShader;

		// Token: 0x04006781 RID: 26497
		private static readonly IntPtr NativeFieldInfoPtr_blurMaterial;

		// Token: 0x04006782 RID: 26498
		private static readonly IntPtr NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0;

		// Token: 0x04006783 RID: 26499
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Void_0;

		// Token: 0x04006784 RID: 26500
		private static readonly IntPtr NativeMethodInfoPtr_OnRenderImage_Public_Void_RenderTexture_RenderTexture_0;

		// Token: 0x04006785 RID: 26501
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005BC RID: 1468
		public enum BlurType
		{
			// Token: 0x04006787 RID: 26503
			StandardGauss,
			// Token: 0x04006788 RID: 26504
			SgxGauss
		}
	}
}
