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

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x0200061B RID: 1563
	public class ContrastEnhance : PostEffectsBase
	{
		// Token: 0x0600A34E RID: 41806 RVA: 0x0029E830 File Offset: 0x0029CA30
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 652012, XrefRangeEnd = 652018, 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), ContrastEnhance.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x0600A34F RID: 41807 RVA: 0x0029E88C File Offset: 0x0029CA8C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 652018, XrefRangeEnd = 652050, 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(ContrastEnhance.NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A350 RID: 41808 RVA: 0x0029E900 File Offset: 0x0029CB00
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 652050, XrefRangeEnd = 652051, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ContrastEnhance()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ContrastEnhance.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A351 RID: 41809 RVA: 0x0029E94C File Offset: 0x0029CB4C
		// Note: this type is marked as 'beforefieldinit'.
		static ContrastEnhance()
		{
			Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.ImageEffects", "ContrastEnhance");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr);
			ContrastEnhance.NativeFieldInfoPtr_intensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "intensity");
			ContrastEnhance.NativeFieldInfoPtr_threshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "threshold");
			ContrastEnhance.NativeFieldInfoPtr_separableBlurMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "separableBlurMaterial");
			ContrastEnhance.NativeFieldInfoPtr_contrastCompositeMaterial = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "contrastCompositeMaterial");
			ContrastEnhance.NativeFieldInfoPtr_blurSpread = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "blurSpread");
			ContrastEnhance.NativeFieldInfoPtr_separableBlurShader = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "separableBlurShader");
			ContrastEnhance.NativeFieldInfoPtr_contrastCompositeShader = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, "contrastCompositeShader");
			ContrastEnhance.NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, 100676004);
			ContrastEnhance.NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, 100676005);
			ContrastEnhance.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ContrastEnhance>.NativeClassPtr, 100676006);
		}

		// Token: 0x0600A352 RID: 41810 RVA: 0x00298C00 File Offset: 0x00296E00
		public ContrastEnhance(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003728 RID: 14120
		// (get) Token: 0x0600A353 RID: 41811 RVA: 0x0029EA44 File Offset: 0x0029CC44
		// (set) Token: 0x0600A354 RID: 41812 RVA: 0x0029EA6C File Offset: 0x0029CC6C
		public unsafe float intensity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_intensity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_intensity)) = value;
			}
		}

		// Token: 0x17003729 RID: 14121
		// (get) Token: 0x0600A355 RID: 41813 RVA: 0x0029EA90 File Offset: 0x0029CC90
		// (set) Token: 0x0600A356 RID: 41814 RVA: 0x0029EAB8 File Offset: 0x0029CCB8
		public unsafe float threshold
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_threshold);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_threshold)) = value;
			}
		}

		// Token: 0x1700372A RID: 14122
		// (get) Token: 0x0600A357 RID: 41815 RVA: 0x0029EADC File Offset: 0x0029CCDC
		// (set) Token: 0x0600A358 RID: 41816 RVA: 0x0029EB10 File Offset: 0x0029CD10
		public unsafe Material separableBlurMaterial
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_separableBlurMaterial);
				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(ContrastEnhance.NativeFieldInfoPtr_separableBlurMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700372B RID: 14123
		// (get) Token: 0x0600A359 RID: 41817 RVA: 0x0029EB38 File Offset: 0x0029CD38
		// (set) Token: 0x0600A35A RID: 41818 RVA: 0x0029EB6C File Offset: 0x0029CD6C
		public unsafe Material contrastCompositeMaterial
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_contrastCompositeMaterial);
				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(ContrastEnhance.NativeFieldInfoPtr_contrastCompositeMaterial), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700372C RID: 14124
		// (get) Token: 0x0600A35B RID: 41819 RVA: 0x0029EB94 File Offset: 0x0029CD94
		// (set) Token: 0x0600A35C RID: 41820 RVA: 0x0029EBBC File Offset: 0x0029CDBC
		public unsafe float blurSpread
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_blurSpread);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_blurSpread)) = value;
			}
		}

		// Token: 0x1700372D RID: 14125
		// (get) Token: 0x0600A35D RID: 41821 RVA: 0x0029EBE0 File Offset: 0x0029CDE0
		// (set) Token: 0x0600A35E RID: 41822 RVA: 0x0029EC14 File Offset: 0x0029CE14
		public unsafe Shader separableBlurShader
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_separableBlurShader);
				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(ContrastEnhance.NativeFieldInfoPtr_separableBlurShader), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700372E RID: 14126
		// (get) Token: 0x0600A35F RID: 41823 RVA: 0x0029EC3C File Offset: 0x0029CE3C
		// (set) Token: 0x0600A360 RID: 41824 RVA: 0x0029EC70 File Offset: 0x0029CE70
		public unsafe Shader contrastCompositeShader
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ContrastEnhance.NativeFieldInfoPtr_contrastCompositeShader);
				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(ContrastEnhance.NativeFieldInfoPtr_contrastCompositeShader), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006D94 RID: 28052
		private static readonly IntPtr NativeFieldInfoPtr_intensity;

		// Token: 0x04006D95 RID: 28053
		private static readonly IntPtr NativeFieldInfoPtr_threshold;

		// Token: 0x04006D96 RID: 28054
		private static readonly IntPtr NativeFieldInfoPtr_separableBlurMaterial;

		// Token: 0x04006D97 RID: 28055
		private static readonly IntPtr NativeFieldInfoPtr_contrastCompositeMaterial;

		// Token: 0x04006D98 RID: 28056
		private static readonly IntPtr NativeFieldInfoPtr_blurSpread;

		// Token: 0x04006D99 RID: 28057
		private static readonly IntPtr NativeFieldInfoPtr_separableBlurShader;

		// Token: 0x04006D9A RID: 28058
		private static readonly IntPtr NativeFieldInfoPtr_contrastCompositeShader;

		// Token: 0x04006D9B RID: 28059
		private static readonly IntPtr NativeMethodInfoPtr_CheckResources_Public_Virtual_Boolean_0;

		// Token: 0x04006D9C RID: 28060
		private static readonly IntPtr NativeMethodInfoPtr_OnRenderImage_Private_Void_RenderTexture_RenderTexture_0;

		// Token: 0x04006D9D RID: 28061
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
