using System;
using Cpp2IlInjected;
using UnityEngine.Rendering;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000529 RID: 1321
	[Token(Token = "0x2000529")]
	public sealed class ScreenSpaceReflectionComponent : PostProcessingComponentCommandBuffer<ScreenSpaceReflectionModel>
	{
		// Token: 0x06002D60 RID: 11616 RVA: 0x00061C98 File Offset: 0x0005FE98
		[Token(Token = "0x6002D60")]
		[Address(RVA = "0x370C60", Offset = "0x36FA60", VA = "0x180370C60", Slot = "4")]
		public override DepthTextureMode GetCameraFlags()
		{
			return DepthTextureMode.Depth;
		}

		// Token: 0x17000332 RID: 818
		// (get) Token: 0x06002D61 RID: 11617 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000332")]
		public override bool active
		{
			[Token(Token = "0x6002D61")]
			[Address(RVA = "0x43D2C0", Offset = "0x43C0C0", VA = "0x18043D2C0", Slot = "5")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002D62 RID: 11618 RVA: 0x00061CA8 File Offset: 0x0005FEA8
		[Token(Token = "0x6002D62")]
		[Address(RVA = "0x43BBB0", Offset = "0x43A9B0", VA = "0x18043BBB0", Slot = "6")]
		public override void OnEnable()
		{
			int[] reflectionTextures = this.m_ReflectionTextures;
			int num = Shader.PropertyToID("_ReflectionTexture0");
			reflectionTextures[0] = num;
			int[] reflectionTextures2 = this.m_ReflectionTextures;
			int num2 = Shader.PropertyToID("_ReflectionTexture1");
			reflectionTextures2[0] = num2;
			int[] reflectionTextures3 = this.m_ReflectionTextures;
			int num3 = Shader.PropertyToID("_ReflectionTexture2");
			reflectionTextures3[1] = num3;
			int[] reflectionTextures4 = this.m_ReflectionTextures;
			int num4 = Shader.PropertyToID("_ReflectionTexture3");
			reflectionTextures4[1] = num4;
			int[] reflectionTextures5 = this.m_ReflectionTextures;
			int num5 = Shader.PropertyToID("_ReflectionTexture4");
			reflectionTextures5[2] = num5;
		}

		// Token: 0x06002D63 RID: 11619 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D63")]
		[Address(RVA = "0x43BB80", Offset = "0x43A980", VA = "0x18043BB80", Slot = "11")]
		public override string GetName()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D64 RID: 11620 RVA: 0x00061D4C File Offset: 0x0005FF4C
		[Token(Token = "0x6002D64")]
		[Address(RVA = "0x43BB70", Offset = "0x43A970", VA = "0x18043BB70", Slot = "10")]
		public override CameraEvent GetCameraEvent()
		{
			return CameraEvent.AfterFinalPass;
		}

		// Token: 0x06002D65 RID: 11621 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D65")]
		[Address(RVA = "0x43BD20", Offset = "0x43AB20", VA = "0x18043BD20", Slot = "12")]
		public override void PopulateCommandBuffer(CommandBuffer cb)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D66 RID: 11622 RVA: 0x00061D5C File Offset: 0x0005FF5C
		[Token(Token = "0x6002D66")]
		[Address(RVA = "0x43D250", Offset = "0x43C050", VA = "0x18043D250")]
		public ScreenSpaceReflectionComponent()
		{
			int[] array = new int[5];
			this.m_ReflectionTextures = array;
			base..ctor();
		}

		// Token: 0x040035B5 RID: 13749
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40035B5")]
		private bool k_HighlightSuppression;

		// Token: 0x040035B6 RID: 13750
		[FieldOffset(Offset = "0x21")]
		[Token(Token = "0x40035B6")]
		private bool k_TraceBehindObjects = true;

		// Token: 0x040035B7 RID: 13751
		[FieldOffset(Offset = "0x22")]
		[Token(Token = "0x40035B7")]
		private bool k_TreatBackfaceHitAsMiss;

		// Token: 0x040035B8 RID: 13752
		[FieldOffset(Offset = "0x23")]
		[Token(Token = "0x40035B8")]
		private bool k_BilateralUpsample = true;

		// Token: 0x040035B9 RID: 13753
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40035B9")]
		private readonly int[] m_ReflectionTextures;

		// Token: 0x0200052A RID: 1322
		[Token(Token = "0x200052A")]
		private static class Uniforms
		{
			// Token: 0x040035BA RID: 13754
			[Token(Token = "0x40035BA")]
			internal static readonly int _RayStepSize = Shader.PropertyToID("_RayStepSize");

			// Token: 0x040035BB RID: 13755
			[Token(Token = "0x40035BB")]
			internal static readonly int _AdditiveReflection = Shader.PropertyToID("_AdditiveReflection");

			// Token: 0x040035BC RID: 13756
			[Token(Token = "0x40035BC")]
			internal static readonly int _BilateralUpsampling = Shader.PropertyToID("_BilateralUpsampling");

			// Token: 0x040035BD RID: 13757
			[Token(Token = "0x40035BD")]
			internal static readonly int _TreatBackfaceHitAsMiss = Shader.PropertyToID("_TreatBackfaceHitAsMiss");

			// Token: 0x040035BE RID: 13758
			[Token(Token = "0x40035BE")]
			internal static readonly int _AllowBackwardsRays = Shader.PropertyToID("_AllowBackwardsRays");

			// Token: 0x040035BF RID: 13759
			[Token(Token = "0x40035BF")]
			internal static readonly int _TraceBehindObjects = Shader.PropertyToID("_TraceBehindObjects");

			// Token: 0x040035C0 RID: 13760
			[Token(Token = "0x40035C0")]
			internal static readonly int _MaxSteps = Shader.PropertyToID("_MaxSteps");

			// Token: 0x040035C1 RID: 13761
			[Token(Token = "0x40035C1")]
			internal static readonly int _FullResolutionFiltering = Shader.PropertyToID("_FullResolutionFiltering");

			// Token: 0x040035C2 RID: 13762
			[Token(Token = "0x40035C2")]
			internal static readonly int _HalfResolution = Shader.PropertyToID("_HalfResolution");

			// Token: 0x040035C3 RID: 13763
			[Token(Token = "0x40035C3")]
			internal static readonly int _HighlightSuppression = Shader.PropertyToID("_HighlightSuppression");

			// Token: 0x040035C4 RID: 13764
			[Token(Token = "0x40035C4")]
			internal static readonly int _PixelsPerMeterAtOneMeter = Shader.PropertyToID("_PixelsPerMeterAtOneMeter");

			// Token: 0x040035C5 RID: 13765
			[Token(Token = "0x40035C5")]
			internal static readonly int _ScreenEdgeFading = Shader.PropertyToID("_ScreenEdgeFading");

			// Token: 0x040035C6 RID: 13766
			[Token(Token = "0x40035C6")]
			internal static readonly int _ReflectionBlur = Shader.PropertyToID("_ReflectionBlur");

			// Token: 0x040035C7 RID: 13767
			[Token(Token = "0x40035C7")]
			internal static readonly int _MaxRayTraceDistance = Shader.PropertyToID("_MaxRayTraceDistance");

			// Token: 0x040035C8 RID: 13768
			[Token(Token = "0x40035C8")]
			internal static readonly int _FadeDistance = Shader.PropertyToID("_FadeDistance");

			// Token: 0x040035C9 RID: 13769
			[Token(Token = "0x40035C9")]
			internal static readonly int _LayerThickness = Shader.PropertyToID("_LayerThickness");

			// Token: 0x040035CA RID: 13770
			[Token(Token = "0x40035CA")]
			internal static readonly int _SSRMultiplier = Shader.PropertyToID("_SSRMultiplier");

			// Token: 0x040035CB RID: 13771
			[Token(Token = "0x40035CB")]
			internal static readonly int _FresnelFade = Shader.PropertyToID("_FresnelFade");

			// Token: 0x040035CC RID: 13772
			[Token(Token = "0x40035CC")]
			internal static readonly int _FresnelFadePower = Shader.PropertyToID("_FresnelFadePower");

			// Token: 0x040035CD RID: 13773
			[Token(Token = "0x40035CD")]
			internal static readonly int _ReflectionBufferSize = Shader.PropertyToID("_ReflectionBufferSize");

			// Token: 0x040035CE RID: 13774
			[Token(Token = "0x40035CE")]
			internal static readonly int _ScreenSize = Shader.PropertyToID("_ScreenSize");

			// Token: 0x040035CF RID: 13775
			[Token(Token = "0x40035CF")]
			internal static readonly int _InvScreenSize = Shader.PropertyToID("_InvScreenSize");

			// Token: 0x040035D0 RID: 13776
			[Token(Token = "0x40035D0")]
			internal static readonly int _ProjInfo = Shader.PropertyToID("_ProjInfo");

			// Token: 0x040035D1 RID: 13777
			[Token(Token = "0x40035D1")]
			internal static readonly int _CameraClipInfo = Shader.PropertyToID("_CameraClipInfo");

			// Token: 0x040035D2 RID: 13778
			[Token(Token = "0x40035D2")]
			internal static readonly int _ProjectToPixelMatrix = Shader.PropertyToID("_ProjectToPixelMatrix");

			// Token: 0x040035D3 RID: 13779
			[Token(Token = "0x40035D3")]
			internal static readonly int _WorldToCameraMatrix = Shader.PropertyToID("_WorldToCameraMatrix");

			// Token: 0x040035D4 RID: 13780
			[Token(Token = "0x40035D4")]
			internal static readonly int _CameraToWorldMatrix = Shader.PropertyToID("_CameraToWorldMatrix");

			// Token: 0x040035D5 RID: 13781
			[Token(Token = "0x40035D5")]
			internal static readonly int _Axis = Shader.PropertyToID("_Axis");

			// Token: 0x040035D6 RID: 13782
			[Token(Token = "0x40035D6")]
			internal static readonly int _CurrentMipLevel = Shader.PropertyToID("_CurrentMipLevel");

			// Token: 0x040035D7 RID: 13783
			[Token(Token = "0x40035D7")]
			internal static readonly int _NormalAndRoughnessTexture = Shader.PropertyToID("_NormalAndRoughnessTexture");

			// Token: 0x040035D8 RID: 13784
			[Token(Token = "0x40035D8")]
			internal static readonly int _HitPointTexture = Shader.PropertyToID("_HitPointTexture");

			// Token: 0x040035D9 RID: 13785
			[Token(Token = "0x40035D9")]
			internal static readonly int _BlurTexture = Shader.PropertyToID("_BlurTexture");

			// Token: 0x040035DA RID: 13786
			[Token(Token = "0x40035DA")]
			internal static readonly int _FilteredReflections = Shader.PropertyToID("_FilteredReflections");

			// Token: 0x040035DB RID: 13787
			[Token(Token = "0x40035DB")]
			internal static readonly int _FinalReflectionTexture = Shader.PropertyToID("_FinalReflectionTexture");

			// Token: 0x040035DC RID: 13788
			[Token(Token = "0x40035DC")]
			internal static readonly int _TempTexture = Shader.PropertyToID("_TempTexture");
		}

		// Token: 0x0200052B RID: 1323
		[Token(Token = "0x200052B")]
		private enum PassIndex
		{
			// Token: 0x040035DE RID: 13790
			[Token(Token = "0x40035DE")]
			RayTraceStep,
			// Token: 0x040035DF RID: 13791
			[Token(Token = "0x40035DF")]
			CompositeFinal,
			// Token: 0x040035E0 RID: 13792
			[Token(Token = "0x40035E0")]
			Blur,
			// Token: 0x040035E1 RID: 13793
			[Token(Token = "0x40035E1")]
			CompositeSSR,
			// Token: 0x040035E2 RID: 13794
			[Token(Token = "0x40035E2")]
			MinMipGeneration,
			// Token: 0x040035E3 RID: 13795
			[Token(Token = "0x40035E3")]
			HitPointToReflections,
			// Token: 0x040035E4 RID: 13796
			[Token(Token = "0x40035E4")]
			BilateralKeyPack,
			// Token: 0x040035E5 RID: 13797
			[Token(Token = "0x40035E5")]
			BlitDepthAsCSZ,
			// Token: 0x040035E6 RID: 13798
			[Token(Token = "0x40035E6")]
			PoissonBlur
		}
	}
}
