using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200058A RID: 1418
	[Token(Token = "0x200058A")]
	[Serializable]
	public class AmbientOcclusionModel : PostProcessingModel
	{
		// Token: 0x1700035C RID: 860
		// (get) Token: 0x06003048 RID: 12360 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06003049 RID: 12361 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x1700035C")]
		public AmbientOcclusionModel.Settings settings
		{
			[Token(Token = "0x6003048")]
			[Address(RVA = "0x487020", Offset = "0x486020", VA = "0x180487020")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6003049")]
			[Address(RVA = "0x9F9730", Offset = "0x9F8730", VA = "0x1809F9730")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x0600304A RID: 12362 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600304A")]
		[Address(RVA = "0xDA8050", Offset = "0xDA7050", VA = "0x180DA8050", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600304B RID: 12363 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600304B")]
		[Address(RVA = "0xDA8080", Offset = "0xDA7080", VA = "0x180DA8080")]
		public AmbientOcclusionModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x040038E4 RID: 14564
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40038E4")]
		[SerializeField]
		private AmbientOcclusionModel.Settings m_Settings;

		// Token: 0x0200058B RID: 1419
		[Token(Token = "0x200058B")]
		public enum SampleCount
		{
			// Token: 0x040038E6 RID: 14566
			[Token(Token = "0x40038E6")]
			Lowest = 3,
			// Token: 0x040038E7 RID: 14567
			[Token(Token = "0x40038E7")]
			Low = 6,
			// Token: 0x040038E8 RID: 14568
			[Token(Token = "0x40038E8")]
			Medium = 10,
			// Token: 0x040038E9 RID: 14569
			[Token(Token = "0x40038E9")]
			High = 16
		}

		// Token: 0x0200058C RID: 1420
		[Token(Token = "0x200058C")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x1700035D RID: 861
			// (get) Token: 0x0600304C RID: 12364 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x1700035D")]
			public static AmbientOcclusionModel.Settings defaultSettings
			{
				[Token(Token = "0x600304C")]
				[Address(RVA = "0x19BDE80", Offset = "0x19BCE80", VA = "0x1819BDE80")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

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

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

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

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

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

			// Token: 0x040038EF RID: 14575
			[FieldOffset(Offset = "0xE")]
			[Token(Token = "0x40038EF")]
			[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: 0x040038F0 RID: 14576
			[FieldOffset(Offset = "0xF")]
			[Token(Token = "0x40038F0")]
			[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;
		}
	}
}
