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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005C5 RID: 1477
	[Token(Token = "0x20005C5")]
	[DisallowMultipleComponent]
	[ExecuteInEditMode]
	[ImageEffectAllowedInSceneView]
	[AddComponentMenu("Effects/Post-Processing Behaviour", -1)]
	[RequireComponent(typeof(Camera))]
	public class PostProcessingBehaviour : MonoBehaviour
	{
		// Token: 0x060030AB RID: 12459 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030AB")]
		[Address(RVA = "0xEBA940", Offset = "0xEB9940", VA = "0x180EBA940")]
		private void OnEnable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030AC RID: 12460 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030AC")]
		[Address(RVA = "0xEBB430", Offset = "0xEBA430", VA = "0x180EBB430")]
		private void OnPreCull()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030AD RID: 12461 RVA: 0x000695F0 File Offset: 0x000677F0
		[Token(Token = "0x60030AD")]
		[Address(RVA = "0xEBBAF0", Offset = "0xEBAAF0", VA = "0x180EBBAF0")]
		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: 0x060030AE RID: 12462 RVA: 0x00069668 File Offset: 0x00067868
		[Token(Token = "0x60030AE")]
		[Address(RVA = "0xEBB330", Offset = "0xEBA330", VA = "0x180EBB330")]
		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: 0x060030AF RID: 12463 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030AF")]
		[Address(RVA = "0xEBBC10", Offset = "0xEBAC10", VA = "0x180EBBC10")]
		private void OnRenderImage(RenderTexture source, RenderTexture destination)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B0 RID: 12464 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B0")]
		[Address(RVA = "0xEBB130", Offset = "0xEBA130", VA = "0x180EBB130")]
		private void OnGUI()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B1 RID: 12465 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B1")]
		[Address(RVA = "0xEBA710", Offset = "0xEB9710", VA = "0x180EBA710")]
		private void OnDisable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B2 RID: 12466 RVA: 0x000696E0 File Offset: 0x000678E0
		[Token(Token = "0x60030B2")]
		[Address(RVA = "0xEBC250", Offset = "0xEBB250", VA = "0x180EBC250")]
		public void ResetTemporalEffects()
		{
			this.m_Taa.ResetHistory();
			this.m_MotionBlur.ResetHistory();
			this.m_EyeAdaptation.ResetHistory();
		}

		// Token: 0x060030B3 RID: 12467 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B3")]
		[Address(RVA = "0xEBA270", Offset = "0xEB9270", VA = "0x180EBA270")]
		private void CheckObservers()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B4 RID: 12468 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B4")]
		[Address(RVA = "0xEBA5F0", Offset = "0xEB95F0", VA = "0x180EBA5F0")]
		private void DisableComponents()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B5 RID: 12469 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B5")]
		[Address(RVA = "0xC46910", Offset = "0xC45910", VA = "0x180C46910")]
		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: 0x060030B6 RID: 12470 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B6")]
		[Address(RVA = "0xC46BF0", Offset = "0xC45BF0", VA = "0x180C46BF0")]
		private void RemoveCommandBuffer<T>() where T : PostProcessingModel
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030B7 RID: 12471 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B7")]
		[Address(RVA = "0xC46AD0", Offset = "0xC45AD0", VA = "0x180C46AD0")]
		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: 0x060030B8 RID: 12472 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B8")]
		[Address(RVA = "0xC46D00", Offset = "0xC45D00", VA = "0x180C46D00")]
		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: 0x060030B9 RID: 12473 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030B9")]
		[Address(RVA = "0xC46DF0", Offset = "0xC45DF0", VA = "0x180C46DF0")]
		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: 0x060030BA RID: 12474 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030BA")]
		[Address(RVA = "0xC46A70", Offset = "0xC45A70", VA = "0x180C46A70")]
		private T AddComponent<T>(T component) where T : PostProcessingComponentBase
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030BB RID: 12475 RVA: 0x00069714 File Offset: 0x00067914
		[Token(Token = "0x60030BB")]
		[Address(RVA = "0xEBC2A0", Offset = "0xEBB2A0", VA = "0x180EBC2A0")]
		public PostProcessingBehaviour()
		{
			List<PostProcessingComponentBase> list = new List();
			this.m_ComponentsToEnable = list;
			List<PostProcessingComponentBase> list2 = new List();
			this.m_ComponentsToDisable = list2;
			base..ctor();
		}

		// Token: 0x040039B2 RID: 14770
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40039B2")]
		public PostProcessingProfile profile;

		// Token: 0x040039B3 RID: 14771
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40039B3")]
		public Func<Vector2, Matrix4x4> jitteredMatrixFunc;

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

		// Token: 0x040039B5 RID: 14773
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40039B5")]
		private List<PostProcessingComponentBase> m_Components;

		// Token: 0x040039B6 RID: 14774
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40039B6")]
		private Dictionary<PostProcessingComponentBase, bool> m_ComponentStates;

		// Token: 0x040039B7 RID: 14775
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40039B7")]
		private MaterialFactory m_MaterialFactory;

		// Token: 0x040039B8 RID: 14776
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x40039B8")]
		private RenderTextureFactory m_RenderTextureFactory;

		// Token: 0x040039B9 RID: 14777
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x40039B9")]
		private PostProcessingContext m_Context;

		// Token: 0x040039BA RID: 14778
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x40039BA")]
		private Camera m_Camera;

		// Token: 0x040039BB RID: 14779
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x40039BB")]
		private PostProcessingProfile m_PreviousProfile;

		// Token: 0x040039BC RID: 14780
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x40039BC")]
		private bool m_RenderingInSceneView;

		// Token: 0x040039BD RID: 14781
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x40039BD")]
		private BuiltinDebugViewsComponent m_DebugViews;

		// Token: 0x040039BE RID: 14782
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x40039BE")]
		private AmbientOcclusionComponent m_AmbientOcclusion;

		// Token: 0x040039BF RID: 14783
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x40039BF")]
		private ScreenSpaceReflectionComponent m_ScreenSpaceReflection;

		// Token: 0x040039C0 RID: 14784
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x40039C0")]
		private FogComponent m_FogComponent;

		// Token: 0x040039C1 RID: 14785
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x40039C1")]
		private MotionBlurComponent m_MotionBlur;

		// Token: 0x040039C2 RID: 14786
		[FieldOffset(Offset = "0x98")]
		[Token(Token = "0x40039C2")]
		private TaaComponent m_Taa;

		// Token: 0x040039C3 RID: 14787
		[FieldOffset(Offset = "0xA0")]
		[Token(Token = "0x40039C3")]
		private EyeAdaptationComponent m_EyeAdaptation;

		// Token: 0x040039C4 RID: 14788
		[FieldOffset(Offset = "0xA8")]
		[Token(Token = "0x40039C4")]
		private DepthOfFieldComponent m_DepthOfField;

		// Token: 0x040039C5 RID: 14789
		[FieldOffset(Offset = "0xB0")]
		[Token(Token = "0x40039C5")]
		private BloomComponent m_Bloom;

		// Token: 0x040039C6 RID: 14790
		[FieldOffset(Offset = "0xB8")]
		[Token(Token = "0x40039C6")]
		private ChromaticAberrationComponent m_ChromaticAberration;

		// Token: 0x040039C7 RID: 14791
		[FieldOffset(Offset = "0xC0")]
		[Token(Token = "0x40039C7")]
		private ColorGradingComponent m_ColorGrading;

		// Token: 0x040039C8 RID: 14792
		[FieldOffset(Offset = "0xC8")]
		[Token(Token = "0x40039C8")]
		private UserLutComponent m_UserLut;

		// Token: 0x040039C9 RID: 14793
		[FieldOffset(Offset = "0xD0")]
		[Token(Token = "0x40039C9")]
		private GrainComponent m_Grain;

		// Token: 0x040039CA RID: 14794
		[FieldOffset(Offset = "0xD8")]
		[Token(Token = "0x40039CA")]
		private VignetteComponent m_Vignette;

		// Token: 0x040039CB RID: 14795
		[FieldOffset(Offset = "0xE0")]
		[Token(Token = "0x40039CB")]
		private DitheringComponent m_Dithering;

		// Token: 0x040039CC RID: 14796
		[FieldOffset(Offset = "0xE8")]
		[Token(Token = "0x40039CC")]
		private FxaaComponent m_Fxaa;

		// Token: 0x040039CD RID: 14797
		[FieldOffset(Offset = "0xF0")]
		[Token(Token = "0x40039CD")]
		private List<PostProcessingComponentBase> m_ComponentsToEnable;

		// Token: 0x040039CE RID: 14798
		[FieldOffset(Offset = "0xF8")]
		[Token(Token = "0x40039CE")]
		private List<PostProcessingComponentBase> m_ComponentsToDisable;
	}
}
