72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| 
 | |
| namespace UnityEngine.PostProcessing
 | |
| {
 | |
|     [Serializable]
 | |
|     public class AmbientOcclusionModel : PostProcessingModel
 | |
|     {
 | |
|         public enum SampleCount
 | |
|         {
 | |
|             Lowest = 3,
 | |
|             Low = 6,
 | |
|             Medium = 10,
 | |
|             High = 16
 | |
|         }
 | |
| 
 | |
|         [Serializable]
 | |
|         public struct Settings
 | |
|         {
 | |
|             [Range(0, 4), Tooltip("Degree of darkness produced by the effect.")]
 | |
|             public float intensity;
 | |
| 
 | |
|             [Min(1e-4f), Tooltip("Radius of sample points, which affects extent of darkened areas.")]
 | |
|             public float radius;
 | |
| 
 | |
|             [Tooltip("Number of sample points, which affects quality and performance.")]
 | |
|             public SampleCount sampleCount;
 | |
| 
 | |
|             [Tooltip("Halves the resolution of the effect to increase performance.")]
 | |
|             public bool downsampling;
 | |
| 
 | |
|             [Tooltip("Forces compatibility with Forward rendered objects when working with the Deferred rendering path.")]
 | |
|             public bool forceForwardCompatibility;
 | |
| 
 | |
|             [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;
 | |
| 
 | |
|             [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;
 | |
| 
 | |
|             public static Settings defaultSettings
 | |
|             {
 | |
|                 get
 | |
|                 {
 | |
|                     return new Settings
 | |
|                     {
 | |
|                         intensity = 1f,
 | |
|                         radius = 0.3f,
 | |
|                         sampleCount = SampleCount.Medium,
 | |
|                         downsampling = true,
 | |
|                         forceForwardCompatibility = false,
 | |
|                         ambientOnly = false,
 | |
|                         highPrecision = false
 | |
|                     };
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         [SerializeField]
 | |
|         Settings m_Settings = Settings.defaultSettings;
 | |
|         public Settings settings
 | |
|         {
 | |
|             get { return m_Settings; }
 | |
|             set { m_Settings = value; }
 | |
|         }
 | |
| 
 | |
|         public override void Reset()
 | |
|         {
 | |
|             m_Settings = Settings.defaultSettings;
 | |
|         }
 | |
|     }
 | |
| }
 |