using System;
using Cpp2IlInjected;
using UnityEngine.Rendering;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000581 RID: 1409
	[Token(Token = "0x2000581")]
	public sealed class ScreenSpaceReflectionComponent : PostProcessingComponentCommandBuffer<ScreenSpaceReflectionModel>
	{
		// Token: 0x06003029 RID: 12329 RVA: 0x00068F54 File Offset: 0x00067154
		[Token(Token = "0x6003029")]
		[Address(RVA = "0x367A80", Offset = "0x366A80", VA = "0x180367A80", Slot = "4")]
		public override DepthTextureMode GetCameraFlags()
		{
			return DepthTextureMode.Depth;
		}

		// Token: 0x17000357 RID: 855
		// (get) Token: 0x0600302A RID: 12330 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000357")]
		public override bool active
		{
			[Token(Token = "0x600302A")]
			[Address(RVA = "0x5177B0", Offset = "0x5167B0", VA = "0x1805177B0", Slot = "5")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x0600302B RID: 12331 RVA: 0x00068F64 File Offset: 0x00067164
		[Token(Token = "0x600302B")]
		[Address(RVA = "0x5160A0", Offset = "0x5150A0", VA = "0x1805160A0", 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: 0x0600302C RID: 12332 RVA: 0x00069008 File Offset: 0x00067208
		[Token(Token = "0x600302C")]
		[Address(RVA = "0x516070", Offset = "0x515070", VA = "0x180516070", Slot = "11")]
		public override string GetName()
		{
			return "Screen Space Reflection";
		}

		// Token: 0x0600302D RID: 12333 RVA: 0x0006901C File Offset: 0x0006721C
		[Token(Token = "0x600302D")]
		[Address(RVA = "0x516060", Offset = "0x515060", VA = "0x180516060", Slot = "10")]
		public override CameraEvent GetCameraEvent()
		{
			return CameraEvent.AfterFinalPass;
		}

		// Token: 0x0600302E RID: 12334 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600302E")]
		[Address(RVA = "0x516210", Offset = "0x515210", VA = "0x180516210", Slot = "12")]
		public override void PopulateCommandBuffer(CommandBuffer cb)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600302F RID: 12335 RVA: 0x0006902C File Offset: 0x0006722C
		[Token(Token = "0x600302F")]
		[Address(RVA = "0x517740", Offset = "0x516740", VA = "0x180517740")]
		public ScreenSpaceReflectionComponent()
		{
			int[] array = new int[5];
			this.m_ReflectionTextures = array;
			base..ctor();
		}

		// Token: 0x0400389F RID: 14495
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x400389F")]
		private bool k_HighlightSuppression;

		// Token: 0x040038A0 RID: 14496
		[FieldOffset(Offset = "0x21")]
		[Token(Token = "0x40038A0")]
		private bool k_TraceBehindObjects = true;

		// Token: 0x040038A1 RID: 14497
		[FieldOffset(Offset = "0x22")]
		[Token(Token = "0x40038A1")]
		private bool k_TreatBackfaceHitAsMiss;

		// Token: 0x040038A2 RID: 14498
		[FieldOffset(Offset = "0x23")]
		[Token(Token = "0x40038A2")]
		private bool k_BilateralUpsample = true;

		// Token: 0x040038A3 RID: 14499
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40038A3")]
		private readonly int[] m_ReflectionTextures;

		// Token: 0x02000582 RID: 1410
		[Token(Token = "0x2000582")]
		private static class Uniforms
		{
			// Token: 0x040038A4 RID: 14500
			[Token(Token = "0x40038A4")]
			internal static readonly int _RayStepSize = Shader.PropertyToID("_RayStepSize");

			// Token: 0x040038A5 RID: 14501
			[Token(Token = "0x40038A5")]
			internal static readonly int _AdditiveReflection = Shader.PropertyToID("_AdditiveReflection");

			// Token: 0x040038A6 RID: 14502
			[Token(Token = "0x40038A6")]
			internal static readonly int _BilateralUpsampling = Shader.PropertyToID("_BilateralUpsampling");

			// Token: 0x040038A7 RID: 14503
			[Token(Token = "0x40038A7")]
			internal static readonly int _TreatBackfaceHitAsMiss = Shader.PropertyToID("_TreatBackfaceHitAsMiss");

			// Token: 0x040038A8 RID: 14504
			[Token(Token = "0x40038A8")]
			internal static readonly int _AllowBackwardsRays = Shader.PropertyToID("_AllowBackwardsRays");

			// Token: 0x040038A9 RID: 14505
			[Token(Token = "0x40038A9")]
			internal static readonly int _TraceBehindObjects = Shader.PropertyToID("_TraceBehindObjects");

			// Token: 0x040038AA RID: 14506
			[Token(Token = "0x40038AA")]
			internal static readonly int _MaxSteps = Shader.PropertyToID("_MaxSteps");

			// Token: 0x040038AB RID: 14507
			[Token(Token = "0x40038AB")]
			internal static readonly int _FullResolutionFiltering = Shader.PropertyToID("_FullResolutionFiltering");

			// Token: 0x040038AC RID: 14508
			[Token(Token = "0x40038AC")]
			internal static readonly int _HalfResolution = Shader.PropertyToID("_HalfResolution");

			// Token: 0x040038AD RID: 14509
			[Token(Token = "0x40038AD")]
			internal static readonly int _HighlightSuppression = Shader.PropertyToID("_HighlightSuppression");

			// Token: 0x040038AE RID: 14510
			[Token(Token = "0x40038AE")]
			internal static readonly int _PixelsPerMeterAtOneMeter = Shader.PropertyToID("_PixelsPerMeterAtOneMeter");

			// Token: 0x040038AF RID: 14511
			[Token(Token = "0x40038AF")]
			internal static readonly int _ScreenEdgeFading = Shader.PropertyToID("_ScreenEdgeFading");

			// Token: 0x040038B0 RID: 14512
			[Token(Token = "0x40038B0")]
			internal static readonly int _ReflectionBlur = Shader.PropertyToID("_ReflectionBlur");

			// Token: 0x040038B1 RID: 14513
			[Token(Token = "0x40038B1")]
			internal static readonly int _MaxRayTraceDistance = Shader.PropertyToID("_MaxRayTraceDistance");

			// Token: 0x040038B2 RID: 14514
			[Token(Token = "0x40038B2")]
			internal static readonly int _FadeDistance = Shader.PropertyToID("_FadeDistance");

			// Token: 0x040038B3 RID: 14515
			[Token(Token = "0x40038B3")]
			internal static readonly int _LayerThickness = Shader.PropertyToID("_LayerThickness");

			// Token: 0x040038B4 RID: 14516
			[Token(Token = "0x40038B4")]
			internal static readonly int _SSRMultiplier = Shader.PropertyToID("_SSRMultiplier");

			// Token: 0x040038B5 RID: 14517
			[Token(Token = "0x40038B5")]
			internal static readonly int _FresnelFade = Shader.PropertyToID("_FresnelFade");

			// Token: 0x040038B6 RID: 14518
			[Token(Token = "0x40038B6")]
			internal static readonly int _FresnelFadePower = Shader.PropertyToID("_FresnelFadePower");

			// Token: 0x040038B7 RID: 14519
			[Token(Token = "0x40038B7")]
			internal static readonly int _ReflectionBufferSize = Shader.PropertyToID("_ReflectionBufferSize");

			// Token: 0x040038B8 RID: 14520
			[Token(Token = "0x40038B8")]
			internal static readonly int _ScreenSize = Shader.PropertyToID("_ScreenSize");

			// Token: 0x040038B9 RID: 14521
			[Token(Token = "0x40038B9")]
			internal static readonly int _InvScreenSize = Shader.PropertyToID("_InvScreenSize");

			// Token: 0x040038BA RID: 14522
			[Token(Token = "0x40038BA")]
			internal static readonly int _ProjInfo = Shader.PropertyToID("_ProjInfo");

			// Token: 0x040038BB RID: 14523
			[Token(Token = "0x40038BB")]
			internal static readonly int _CameraClipInfo = Shader.PropertyToID("_CameraClipInfo");

			// Token: 0x040038BC RID: 14524
			[Token(Token = "0x40038BC")]
			internal static readonly int _ProjectToPixelMatrix = Shader.PropertyToID("_ProjectToPixelMatrix");

			// Token: 0x040038BD RID: 14525
			[Token(Token = "0x40038BD")]
			internal static readonly int _WorldToCameraMatrix = Shader.PropertyToID("_WorldToCameraMatrix");

			// Token: 0x040038BE RID: 14526
			[Token(Token = "0x40038BE")]
			internal static readonly int _CameraToWorldMatrix = Shader.PropertyToID("_CameraToWorldMatrix");

			// Token: 0x040038BF RID: 14527
			[Token(Token = "0x40038BF")]
			internal static readonly int _Axis = Shader.PropertyToID("_Axis");

			// Token: 0x040038C0 RID: 14528
			[Token(Token = "0x40038C0")]
			internal static readonly int _CurrentMipLevel = Shader.PropertyToID("_CurrentMipLevel");

			// Token: 0x040038C1 RID: 14529
			[Token(Token = "0x40038C1")]
			internal static readonly int _NormalAndRoughnessTexture = Shader.PropertyToID("_NormalAndRoughnessTexture");

			// Token: 0x040038C2 RID: 14530
			[Token(Token = "0x40038C2")]
			internal static readonly int _HitPointTexture = Shader.PropertyToID("_HitPointTexture");

			// Token: 0x040038C3 RID: 14531
			[Token(Token = "0x40038C3")]
			internal static readonly int _BlurTexture = Shader.PropertyToID("_BlurTexture");

			// Token: 0x040038C4 RID: 14532
			[Token(Token = "0x40038C4")]
			internal static readonly int _FilteredReflections = Shader.PropertyToID("_FilteredReflections");

			// Token: 0x040038C5 RID: 14533
			[Token(Token = "0x40038C5")]
			internal static readonly int _FinalReflectionTexture = Shader.PropertyToID("_FinalReflectionTexture");

			// Token: 0x040038C6 RID: 14534
			[Token(Token = "0x40038C6")]
			internal static readonly int _TempTexture = Shader.PropertyToID("_TempTexture");
		}

		// Token: 0x02000583 RID: 1411
		[Token(Token = "0x2000583")]
		private enum PassIndex
		{
			// Token: 0x040038C8 RID: 14536
			[Token(Token = "0x40038C8")]
			RayTraceStep,
			// Token: 0x040038C9 RID: 14537
			[Token(Token = "0x40038C9")]
			CompositeFinal,
			// Token: 0x040038CA RID: 14538
			[Token(Token = "0x40038CA")]
			Blur,
			// Token: 0x040038CB RID: 14539
			[Token(Token = "0x40038CB")]
			CompositeSSR,
			// Token: 0x040038CC RID: 14540
			[Token(Token = "0x40038CC")]
			MinMipGeneration,
			// Token: 0x040038CD RID: 14541
			[Token(Token = "0x40038CD")]
			HitPointToReflections,
			// Token: 0x040038CE RID: 14542
			[Token(Token = "0x40038CE")]
			BilateralKeyPack,
			// Token: 0x040038CF RID: 14543
			[Token(Token = "0x40038CF")]
			BlitDepthAsCSZ,
			// Token: 0x040038D0 RID: 14544
			[Token(Token = "0x40038D0")]
			PoissonBlur
		}
	}
}
