using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000532 RID: 1330
	[Token(Token = "0x2000532")]
	[Serializable]
	public class AmbientOcclusionModel : PostProcessingModel
	{
		// Token: 0x17000337 RID: 823
		// (get) Token: 0x06002D7F RID: 11647 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002D80 RID: 11648 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000337")]
		public AmbientOcclusionModel.Settings settings
		{
			[Token(Token = "0x6002D7F")]
			[Address(RVA = "0x2B3EF0", Offset = "0x2B2CF0", VA = "0x1802B3EF0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002D80")]
			[Address(RVA = "0x94F400", Offset = "0x94E200", VA = "0x18094F400")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002D81 RID: 11649 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D81")]
		[Address(RVA = "0x11E4E10", Offset = "0x11E3C10", VA = "0x1811E4E10", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D82 RID: 11650 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D82")]
		[Address(RVA = "0x11E4E40", Offset = "0x11E3C40", VA = "0x1811E4E40")]
		public AmbientOcclusionModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x040035FA RID: 13818
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40035FA")]
		[SerializeField]
		private AmbientOcclusionModel.Settings m_Settings;

		// Token: 0x02000533 RID: 1331
		[Token(Token = "0x2000533")]
		public enum SampleCount
		{
			// Token: 0x040035FC RID: 13820
			[Token(Token = "0x40035FC")]
			Lowest = 3,
			// Token: 0x040035FD RID: 13821
			[Token(Token = "0x40035FD")]
			Low = 6,
			// Token: 0x040035FE RID: 13822
			[Token(Token = "0x40035FE")]
			Medium = 10,
			// Token: 0x040035FF RID: 13823
			[Token(Token = "0x40035FF")]
			High = 16
		}

		// Token: 0x02000534 RID: 1332
		[Token(Token = "0x2000534")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x17000338 RID: 824
			// (get) Token: 0x06002D83 RID: 11651 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x17000338")]
			public static AmbientOcclusionModel.Settings defaultSettings
			{
				[Token(Token = "0x6002D83")]
				[Address(RVA = "0x5FD880", Offset = "0x5FC680", VA = "0x1805FD880")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x04003600 RID: 13824
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x4003600")]
			[Range(0f, 4f)]
			[Tooltip("Degree of darkness produced by the effect.")]
			public float intensity;

			// Token: 0x04003601 RID: 13825
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x4003601")]
			[Min(0.0001f)]
			[Tooltip("Radius of sample points, which affects extent of darkened areas.")]
			public float radius;

			// Token: 0x04003602 RID: 13826
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x4003602")]
			[Tooltip("Number of sample points, which affects quality and performance.")]
			public AmbientOcclusionModel.SampleCount sampleCount;

			// Token: 0x04003603 RID: 13827
			[FieldOffset(Offset = "0xC")]
			[Token(Token = "0x4003603")]
			[Tooltip("Halves the resolution of the effect to increase performance at the cost of visual quality.")]
			public bool downsampling;

			// Token: 0x04003604 RID: 13828
			[FieldOffset(Offset = "0xD")]
			[Token(Token = "0x4003604")]
			[Tooltip("Forces compatibility with Forward rendered objects when working with the Deferred rendering path.")]
			public bool forceForwardCompatibility;

			// Token: 0x04003605 RID: 13829
			[FieldOffset(Offset = "0xE")]
			[Token(Token = "0x4003605")]
			[Tooltip("Enables the ambient-only mode in that the effect only affects ambient lighting. This mode is only available with the Deferred rendering path and HDR rendering.")]
			public bool ambientOnly;

			// Token: 0x04003606 RID: 13830
			[FieldOffset(Offset = "0xF")]
			[Token(Token = "0x4003606")]
			[Tooltip("Toggles the use of a higher precision depth texture with the forward rendering path (may impact performances). Has no effect with the deferred rendering path.")]
			public bool highPrecision;
		}
	}
}
