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

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x020005B7 RID: 1463
	public class BloomOptimized : PostEffectsBase
	{
		// Token: 0x06009A24 RID: 39460 RVA: 0x00278814 File Offset: 0x00276A14
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618819, XrefRangeEnd = 618823, 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), BloomOptimized.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06009A25 RID: 39461 RVA: 0x00278870 File Offset: 0x00276A70
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618823, XrefRangeEnd = 618830, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BloomOptimized.NativeMethodInfoPtr_OnDisable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A26 RID: 39462 RVA: 0x002788B4 File Offset: 0x00276AB4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618830, XrefRangeEnd = 618865, 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(BloomOptimized.NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A27 RID: 39463 RVA: 0x00278928 File Offset: 0x00276B28
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618865, XrefRangeEnd = 618866, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe BloomOptimized()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BloomOptimized.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009A28 RID: 39464 RVA: 0x00278974 File Offset: 0x00276B74
		// Note: this type is marked as 'beforefieldinit'.
		static BloomOptimized()
		{
			Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.ImageEffects", "BloomOptimized");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr);
			BloomOptimized.NativeFieldInfoPtr_threshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "threshold");
			BloomOptimized.NativeFieldInfoPtr_intensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "intensity");
			BloomOptimized.NativeFieldInfoPtr_blurSize = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "blurSize");
			BloomOptimized.NativeFieldInfoPtr_resolution = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "resolution");
			BloomOptimized.NativeFieldInfoPtr_blurIterations = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "blurIterations");
			BloomOptimized.NativeFieldInfoPtr_blurType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "blurType");
			BloomOptimized.NativeFieldInfoPtr_fastBloomShader = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "fastBloomShader");
			BloomOptimized.NativeFieldInfoPtr_fastBloomMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, "fastBloomMaterial");
			BloomOptimized.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, 100675246);
			BloomOptimized.NativeMethodInfoPtr_OnDisable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, 100675247);
			BloomOptimized.NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, 100675248);
			BloomOptimized.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BloomOptimized>.NativeClassPtr, 100675249);
		}

		// Token: 0x06009A29 RID: 39465 RVA: 0x00275EC4 File Offset: 0x002740C4
		public BloomOptimized(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700343D RID: 13373
		// (get) Token: 0x06009A2A RID: 39466 RVA: 0x00278A94 File Offset: 0x00276C94
		// (set) Token: 0x06009A2B RID: 39467 RVA: 0x00278ABC File Offset: 0x00276CBC
		public unsafe float threshold
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_threshold);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_threshold)) = value;
			}
		}

		// Token: 0x1700343E RID: 13374
		// (get) Token: 0x06009A2C RID: 39468 RVA: 0x00278AE0 File Offset: 0x00276CE0
		// (set) Token: 0x06009A2D RID: 39469 RVA: 0x00278B08 File Offset: 0x00276D08
		public unsafe float intensity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_intensity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_intensity)) = value;
			}
		}

		// Token: 0x1700343F RID: 13375
		// (get) Token: 0x06009A2E RID: 39470 RVA: 0x00278B2C File Offset: 0x00276D2C
		// (set) Token: 0x06009A2F RID: 39471 RVA: 0x00278B54 File Offset: 0x00276D54
		public unsafe float blurSize
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurSize);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurSize)) = value;
			}
		}

		// Token: 0x17003440 RID: 13376
		// (get) Token: 0x06009A30 RID: 39472 RVA: 0x00278B78 File Offset: 0x00276D78
		// (set) Token: 0x06009A31 RID: 39473 RVA: 0x00278BA0 File Offset: 0x00276DA0
		public unsafe BloomOptimized.Resolution resolution
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_resolution);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_resolution)) = value;
			}
		}

		// Token: 0x17003441 RID: 13377
		// (get) Token: 0x06009A32 RID: 39474 RVA: 0x00278BC4 File Offset: 0x00276DC4
		// (set) Token: 0x06009A33 RID: 39475 RVA: 0x00278BEC File Offset: 0x00276DEC
		public unsafe int blurIterations
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurIterations);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurIterations)) = value;
			}
		}

		// Token: 0x17003442 RID: 13378
		// (get) Token: 0x06009A34 RID: 39476 RVA: 0x00278C10 File Offset: 0x00276E10
		// (set) Token: 0x06009A35 RID: 39477 RVA: 0x00278C38 File Offset: 0x00276E38
		public unsafe BloomOptimized.BlurType blurType
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurType);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_blurType)) = value;
			}
		}

		// Token: 0x17003443 RID: 13379
		// (get) Token: 0x06009A36 RID: 39478 RVA: 0x00278C5C File Offset: 0x00276E5C
		// (set) Token: 0x06009A37 RID: 39479 RVA: 0x00278C90 File Offset: 0x00276E90
		public unsafe Shader fastBloomShader
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_fastBloomShader);
				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(BloomOptimized.NativeFieldInfoPtr_fastBloomShader), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003444 RID: 13380
		// (get) Token: 0x06009A38 RID: 39480 RVA: 0x00278CB8 File Offset: 0x00276EB8
		// (set) Token: 0x06009A39 RID: 39481 RVA: 0x00278CEC File Offset: 0x00276EEC
		public unsafe Material fastBloomMaterial
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BloomOptimized.NativeFieldInfoPtr_fastBloomMaterial);
				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(BloomOptimized.NativeFieldInfoPtr_fastBloomMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400675F RID: 26463
		private static readonly IntPtr NativeFieldInfoPtr_threshold;

		// Token: 0x04006760 RID: 26464
		private static readonly IntPtr NativeFieldInfoPtr_intensity;

		// Token: 0x04006761 RID: 26465
		private static readonly IntPtr NativeFieldInfoPtr_blurSize;

		// Token: 0x04006762 RID: 26466
		private static readonly IntPtr NativeFieldInfoPtr_resolution;

		// Token: 0x04006763 RID: 26467
		private static readonly IntPtr NativeFieldInfoPtr_blurIterations;

		// Token: 0x04006764 RID: 26468
		private static readonly IntPtr NativeFieldInfoPtr_blurType;

		// Token: 0x04006765 RID: 26469
		private static readonly IntPtr NativeFieldInfoPtr_fastBloomShader;

		// Token: 0x04006766 RID: 26470
		private static readonly IntPtr NativeFieldInfoPtr_fastBloomMaterial;

		// Token: 0x04006767 RID: 26471
		private static readonly IntPtr NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0;

		// Token: 0x04006768 RID: 26472
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Private_Void_0;

		// Token: 0x04006769 RID: 26473
		private static readonly IntPtr NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0;

		// Token: 0x0400676A RID: 26474
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005B8 RID: 1464
		public enum Resolution
		{
			// Token: 0x0400676C RID: 26476
			Low,
			// Token: 0x0400676D RID: 26477
			High
		}

		// Token: 0x020005B9 RID: 1465
		public enum BlurType
		{
			// Token: 0x0400676F RID: 26479
			Standard,
			// Token: 0x04006770 RID: 26480
			Sgx
		}
	}
}
