using System;
using Cpp2IlInjected;
using UnityEngine;

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x020005A6 RID: 1446
	[Token(Token = "0x20005A6")]
	[ExecuteInEditMode]
	[AddComponentMenu("Image Effects/Color Adjustments/Color Correction (Curves, Saturation)")]
	public class ColorCorrectionCurves : PostEffectsBase
	{
		// Token: 0x06002ECA RID: 11978 RVA: 0x00063E6C File Offset: 0x0006206C
		[Token(Token = "0x6002ECA")]
		[Address(RVA = "0xE8A410", Offset = "0xE89210", VA = "0x180E8A410")]
		private new void Start()
		{
			base.Start();
			this.updateTexturesOnStartup = true;
		}

		// Token: 0x06002ECB RID: 11979 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002ECB")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
		private void Awake()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002ECC RID: 11980 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002ECC")]
		[Address(RVA = "0xE89D70", Offset = "0xE88B70", VA = "0x180E89D70", Slot = "4")]
		public override bool CheckResources()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002ECD RID: 11981 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002ECD")]
		[Address(RVA = "0xE8A430", Offset = "0xE89230", VA = "0x180E8A430")]
		public void UpdateParameters()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002ECE RID: 11982 RVA: 0x00063E88 File Offset: 0x00062088
		[Token(Token = "0x6002ECE")]
		[Address(RVA = "0xE8A930", Offset = "0xE89730", VA = "0x180E8A930")]
		private void UpdateTextures()
		{
			this.UpdateParameters();
		}

		// Token: 0x06002ECF RID: 11983 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002ECF")]
		[Address(RVA = "0xE8A0A0", Offset = "0xE88EA0", VA = "0x180E8A0A0")]
		private void OnRenderImage(RenderTexture source, RenderTexture destination)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002ED0 RID: 11984 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002ED0")]
		[Address(RVA = "0xE8A940", Offset = "0xE89740", VA = "0x180E8A940")]
		public ColorCorrectionCurves()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0400383D RID: 14397
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x400383D")]
		public AnimationCurve redChannel;

		// Token: 0x0400383E RID: 14398
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x400383E")]
		public AnimationCurve greenChannel;

		// Token: 0x0400383F RID: 14399
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x400383F")]
		public AnimationCurve blueChannel;

		// Token: 0x04003840 RID: 14400
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003840")]
		public bool useDepthCorrection;

		// Token: 0x04003841 RID: 14401
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003841")]
		public AnimationCurve zCurve;

		// Token: 0x04003842 RID: 14402
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003842")]
		public AnimationCurve depthRedChannel;

		// Token: 0x04003843 RID: 14403
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003843")]
		public AnimationCurve depthGreenChannel;

		// Token: 0x04003844 RID: 14404
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4003844")]
		public AnimationCurve depthBlueChannel;

		// Token: 0x04003845 RID: 14405
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4003845")]
		private Material ccMaterial;

		// Token: 0x04003846 RID: 14406
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4003846")]
		private Material ccDepthMaterial;

		// Token: 0x04003847 RID: 14407
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4003847")]
		private Material selectiveCcMaterial;

		// Token: 0x04003848 RID: 14408
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x4003848")]
		private Texture2D rgbChannelTex;

		// Token: 0x04003849 RID: 14409
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x4003849")]
		private Texture2D rgbDepthChannelTex;

		// Token: 0x0400384A RID: 14410
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x400384A")]
		private Texture2D zCurveTex;

		// Token: 0x0400384B RID: 14411
		[FieldOffset(Offset = "0x98")]
		[Token(Token = "0x400384B")]
		public float saturation;

		// Token: 0x0400384C RID: 14412
		[FieldOffset(Offset = "0x9C")]
		[Token(Token = "0x400384C")]
		public bool selectiveCc;

		// Token: 0x0400384D RID: 14413
		[FieldOffset(Offset = "0xA0")]
		[Token(Token = "0x400384D")]
		public Color selectiveFromColor;

		// Token: 0x0400384E RID: 14414
		[FieldOffset(Offset = "0xB0")]
		[Token(Token = "0x400384E")]
		public Color selectiveToColor;

		// Token: 0x0400384F RID: 14415
		[FieldOffset(Offset = "0xC0")]
		[Token(Token = "0x400384F")]
		public ColorCorrectionCurves.ColorCorrectionMode mode;

		// Token: 0x04003850 RID: 14416
		[FieldOffset(Offset = "0xC4")]
		[Token(Token = "0x4003850")]
		public bool updateTextures;

		// Token: 0x04003851 RID: 14417
		[FieldOffset(Offset = "0xC8")]
		[Token(Token = "0x4003851")]
		public Shader colorCorrectionCurvesShader;

		// Token: 0x04003852 RID: 14418
		[FieldOffset(Offset = "0xD0")]
		[Token(Token = "0x4003852")]
		public Shader simpleColorCorrectionCurvesShader;

		// Token: 0x04003853 RID: 14419
		[FieldOffset(Offset = "0xD8")]
		[Token(Token = "0x4003853")]
		public Shader colorCorrectionSelectiveShader;

		// Token: 0x04003854 RID: 14420
		[FieldOffset(Offset = "0xE0")]
		[Token(Token = "0x4003854")]
		private bool updateTexturesOnStartup;

		// Token: 0x020005A7 RID: 1447
		[Token(Token = "0x20005A7")]
		public enum ColorCorrectionMode
		{
			// Token: 0x04003856 RID: 14422
			[Token(Token = "0x4003856")]
			Simple,
			// Token: 0x04003857 RID: 14423
			[Token(Token = "0x4003857")]
			Advanced
		}
	}
}
