using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine.Rendering;

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200056D RID: 1389
	[Token(Token = "0x200056D")]
	[ExecuteInEditMode]
	[ImageEffectAllowedInSceneView]
	[DisallowMultipleComponent]
	[AddComponentMenu("Effects/Post-Processing Behaviour", -1)]
	[RequireComponent(typeof(Camera))]
	public class PostProcessingBehaviour : MonoBehaviour
	{
		// Token: 0x06002DE2 RID: 11746 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DE2")]
		[Address(RVA = "0xBDE680", Offset = "0xBDD480", VA = "0x180BDE680")]
		private void OnEnable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DE3 RID: 11747 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DE3")]
		[Address(RVA = "0xBDF1D0", Offset = "0xBDDFD0", VA = "0x180BDF1D0")]
		private void OnPreCull()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DE4 RID: 11748 RVA: 0x00062320 File Offset: 0x00060520
		[Token(Token = "0x6002DE4")]
		[Address(RVA = "0xBDF890", Offset = "0xBDE690", VA = "0x180BDF890")]
		private void OnPreRender()
		{
			PostProcessingProfile postProcessingProfile = this.profile;
			int num = 0;
			if (!(postProcessingProfile == num))
			{
				BuiltinDebugViewsComponent debugViews = this.m_DebugViews;
				this.TryExecuteCommandBuffer<BuiltinDebugViewsModel>(debugViews);
				AmbientOcclusionComponent ambientOcclusion = this.m_AmbientOcclusion;
				this.TryExecuteCommandBuffer<AmbientOcclusionModel>(ambientOcclusion);
				ScreenSpaceReflectionComponent screenSpaceReflection = this.m_ScreenSpaceReflection;
				this.TryExecuteCommandBuffer<ScreenSpaceReflectionModel>(screenSpaceReflection);
				FogComponent fogComponent = this.m_FogComponent;
				this.TryExecuteCommandBuffer<FogModel>(fogComponent);
				if (!this.m_RenderingInSceneView)
				{
					MotionBlurComponent motionBlur = this.m_MotionBlur;
					this.TryExecuteCommandBuffer<MotionBlurModel>(motionBlur);
				}
			}
		}

		// Token: 0x06002DE5 RID: 11749 RVA: 0x00062398 File Offset: 0x00060598
		[Token(Token = "0x6002DE5")]
		[Address(RVA = "0xBDF0D0", Offset = "0xBDDED0", VA = "0x180BDF0D0")]
		private void OnPostRender()
		{
			PostProcessingProfile postProcessingProfile = this.profile;
			int num = 0;
			if (!(postProcessingProfile == num))
			{
				Camera camera = this.m_Camera;
				int num2 = 0;
				bool flag = camera == num2;
				if (!flag && this.m_RenderingInSceneView == flag && this.m_Taa.active && !this.profile.debugViews.willInterrupt)
				{
					this.m_Context.camera.ResetProjectionMatrix();
				}
			}
		}

		// Token: 0x06002DE6 RID: 11750 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DE6")]
		[Address(RVA = "0xBDF9B0", Offset = "0xBDE7B0", VA = "0x180BDF9B0")]
		private void OnRenderImage(RenderTexture source, RenderTexture destination)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DE7 RID: 11751 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DE7")]
		[Address(RVA = "0xBDEED0", Offset = "0xBDDCD0", VA = "0x180BDEED0")]
		private void OnGUI()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DE8 RID: 11752 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DE8")]
		[Address(RVA = "0xBDE450", Offset = "0xBDD250", VA = "0x180BDE450")]
		private void OnDisable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DE9 RID: 11753 RVA: 0x00062410 File Offset: 0x00060610
		[Token(Token = "0x6002DE9")]
		[Address(RVA = "0xBDFFF0", Offset = "0xBDEDF0", VA = "0x180BDFFF0")]
		public void ResetTemporalEffects()
		{
			this.m_Taa.ResetHistory();
			this.m_MotionBlur.ResetHistory();
			this.m_EyeAdaptation.ResetHistory();
		}

		// Token: 0x06002DEA RID: 11754 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DEA")]
		[Address(RVA = "0xBDDFB0", Offset = "0xBDCDB0", VA = "0x180BDDFB0")]
		private void CheckObservers()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DEB RID: 11755 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DEB")]
		[Address(RVA = "0xBDE330", Offset = "0xBDD130", VA = "0x180BDE330")]
		private void DisableComponents()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DEC RID: 11756 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DEC")]
		[Address(RVA = "0x106B310", Offset = "0x106A110", VA = "0x18106B310")]
		private CommandBuffer AddCommandBuffer<T>(CameraEvent evt, string name) where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DED RID: 11757 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DED")]
		[Address(RVA = "0x106B5F0", Offset = "0x106A3F0", VA = "0x18106B5F0")]
		private void RemoveCommandBuffer<T>() where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DEE RID: 11758 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DEE")]
		[Address(RVA = "0x106B4D0", Offset = "0x106A2D0", VA = "0x18106B4D0")]
		private CommandBuffer GetCommandBuffer<T>(CameraEvent evt, string name) where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DEF RID: 11759 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DEF")]
		[Address(RVA = "0x106B700", Offset = "0x106A500", VA = "0x18106B700")]
		private void TryExecuteCommandBuffer<T>(PostProcessingComponentCommandBuffer cpp2il__autoParamName__idx_0) where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DF0 RID: 11760 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DF0")]
		[Address(RVA = "0x106B7F0", Offset = "0x106A5F0", VA = "0x18106B7F0")]
		private bool TryPrepareUberImageEffect<T>(PostProcessingComponentRenderTexture<T> component, Material material) where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DF1 RID: 11761 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DF1")]
		[Address(RVA = "0x106B470", Offset = "0x106A270", VA = "0x18106B470")]
		private T AddComponent<T>(T component) where T : PostProcessingComponentBase
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DF2 RID: 11762 RVA: 0x00062444 File Offset: 0x00060644
		[Token(Token = "0x6002DF2")]
		[Address(RVA = "0xBE0040", Offset = "0xBDEE40", VA = "0x180BE0040")]
		public PostProcessingBehaviour()
		{
			List<PostProcessingComponentBase> list = new List();
			this.m_ComponentsToEnable = list;
			List<PostProcessingComponentBase> list2 = new List();
			this.m_ComponentsToDisable = list2;
			base..ctor();
		}

		// Token: 0x040036C8 RID: 14024
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40036C8")]
		public PostProcessingProfile profile;

		// Token: 0x040036C9 RID: 14025
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40036C9")]
		public Func<Vector2, Matrix4x4> jitteredMatrixFunc;

		// Token: 0x040036CA RID: 14026
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40036CA")]
		private Dictionary<Type, KeyValuePair<CameraEvent, CommandBuffer>> m_CommandBuffers;

		// Token: 0x040036CB RID: 14027
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40036CB")]
		private List<PostProcessingComponentBase> m_Components;

		// Token: 0x040036CC RID: 14028
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40036CC")]
		private Dictionary<PostProcessingComponentBase, bool> m_ComponentStates;

		// Token: 0x040036CD RID: 14029
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40036CD")]
		private MaterialFactory m_MaterialFactory;

		// Token: 0x040036CE RID: 14030
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x40036CE")]
		private RenderTextureFactory m_RenderTextureFactory;

		// Token: 0x040036CF RID: 14031
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x40036CF")]
		private PostProcessingContext m_Context;

		// Token: 0x040036D0 RID: 14032
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x40036D0")]
		private Camera m_Camera;

		// Token: 0x040036D1 RID: 14033
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x40036D1")]
		private PostProcessingProfile m_PreviousProfile;

		// Token: 0x040036D2 RID: 14034
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x40036D2")]
		private bool m_RenderingInSceneView;

		// Token: 0x040036D3 RID: 14035
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x40036D3")]
		private BuiltinDebugViewsComponent m_DebugViews;

		// Token: 0x040036D4 RID: 14036
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x40036D4")]
		private AmbientOcclusionComponent m_AmbientOcclusion;

		// Token: 0x040036D5 RID: 14037
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x40036D5")]
		private ScreenSpaceReflectionComponent m_ScreenSpaceReflection;

		// Token: 0x040036D6 RID: 14038
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x40036D6")]
		private FogComponent m_FogComponent;

		// Token: 0x040036D7 RID: 14039
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x40036D7")]
		private MotionBlurComponent m_MotionBlur;

		// Token: 0x040036D8 RID: 14040
		[FieldOffset(Offset = "0x98")]
		[Token(Token = "0x40036D8")]
		private TaaComponent m_Taa;

		// Token: 0x040036D9 RID: 14041
		[FieldOffset(Offset = "0xA0")]
		[Token(Token = "0x40036D9")]
		private EyeAdaptationComponent m_EyeAdaptation;

		// Token: 0x040036DA RID: 14042
		[FieldOffset(Offset = "0xA8")]
		[Token(Token = "0x40036DA")]
		private DepthOfFieldComponent m_DepthOfField;

		// Token: 0x040036DB RID: 14043
		[FieldOffset(Offset = "0xB0")]
		[Token(Token = "0x40036DB")]
		private BloomComponent m_Bloom;

		// Token: 0x040036DC RID: 14044
		[FieldOffset(Offset = "0xB8")]
		[Token(Token = "0x40036DC")]
		private ChromaticAberrationComponent m_ChromaticAberration;

		// Token: 0x040036DD RID: 14045
		[FieldOffset(Offset = "0xC0")]
		[Token(Token = "0x40036DD")]
		private ColorGradingComponent m_ColorGrading;

		// Token: 0x040036DE RID: 14046
		[FieldOffset(Offset = "0xC8")]
		[Token(Token = "0x40036DE")]
		private UserLutComponent m_UserLut;

		// Token: 0x040036DF RID: 14047
		[FieldOffset(Offset = "0xD0")]
		[Token(Token = "0x40036DF")]
		private GrainComponent m_Grain;

		// Token: 0x040036E0 RID: 14048
		[FieldOffset(Offset = "0xD8")]
		[Token(Token = "0x40036E0")]
		private VignetteComponent m_Vignette;

		// Token: 0x040036E1 RID: 14049
		[FieldOffset(Offset = "0xE0")]
		[Token(Token = "0x40036E1")]
		private DitheringComponent m_Dithering;

		// Token: 0x040036E2 RID: 14050
		[FieldOffset(Offset = "0xE8")]
		[Token(Token = "0x40036E2")]
		private FxaaComponent m_Fxaa;

		// Token: 0x040036E3 RID: 14051
		[FieldOffset(Offset = "0xF0")]
		[Token(Token = "0x40036E3")]
		private List<PostProcessingComponentBase> m_ComponentsToEnable;

		// Token: 0x040036E4 RID: 14052
		[FieldOffset(Offset = "0xF8")]
		[Token(Token = "0x40036E4")]
		private List<PostProcessingComponentBase> m_ComponentsToDisable;
	}
}
