119 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			119 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|   | #if UNITY_EDITOR | ||
|  | using UnityEditor; | ||
|  | using UnityEditor.ProjectWindowCallback; | ||
|  | #endif | ||
|  | using System; | ||
|  | 
 | ||
|  | namespace UnityEngine.Rendering.Universal | ||
|  | { | ||
|  |     [Serializable] | ||
|  |     public class PostProcessData : ScriptableObject | ||
|  |     { | ||
|  | #if UNITY_EDITOR | ||
|  |         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1812")] | ||
|  |         internal class CreatePostProcessDataAsset : EndNameEditAction | ||
|  |         { | ||
|  |             public override void Action(int instanceId, string pathName, string resourceFile) | ||
|  |             { | ||
|  |                 var instance = CreateInstance<PostProcessData>(); | ||
|  |                 AssetDatabase.CreateAsset(instance, pathName); | ||
|  |                 ResourceReloader.ReloadAllNullIn(instance, UniversalRenderPipelineAsset.packagePath); | ||
|  |                 Selection.activeObject = instance; | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         [MenuItem("Assets/Create/Rendering/URP Post-process Data", priority = CoreUtils.Sections.section5 + CoreUtils.Priorities.assetsCreateRenderingMenuPriority)] | ||
|  |         static void CreatePostProcessData() | ||
|  |         { | ||
|  |             ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, CreateInstance<CreatePostProcessDataAsset>(), "CustomPostProcessData.asset", null, null); | ||
|  |         } | ||
|  | 
 | ||
|  |         internal static PostProcessData GetDefaultPostProcessData() | ||
|  |         { | ||
|  |             var path = System.IO.Path.Combine(UniversalRenderPipelineAsset.packagePath, "Runtime/Data/PostProcessData.asset"); | ||
|  |             return AssetDatabase.LoadAssetAtPath<PostProcessData>(path); | ||
|  |         } | ||
|  | 
 | ||
|  | #endif | ||
|  | 
 | ||
|  |         [Serializable, ReloadGroup] | ||
|  |         public sealed class ShaderResources | ||
|  |         { | ||
|  |             [Reload("Shaders/PostProcessing/StopNaN.shader")] | ||
|  |             public Shader stopNanPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/SubpixelMorphologicalAntialiasing.shader")] | ||
|  |             public Shader subpixelMorphologicalAntialiasingPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/GaussianDepthOfField.shader")] | ||
|  |             public Shader gaussianDepthOfFieldPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/BokehDepthOfField.shader")] | ||
|  |             public Shader bokehDepthOfFieldPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/CameraMotionBlur.shader")] | ||
|  |             public Shader cameraMotionBlurPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/PaniniProjection.shader")] | ||
|  |             public Shader paniniProjectionPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/LutBuilderLdr.shader")] | ||
|  |             public Shader lutBuilderLdrPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/LutBuilderHdr.shader")] | ||
|  |             public Shader lutBuilderHdrPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/Bloom.shader")] | ||
|  |             public Shader bloomPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/LensFlareDataDriven.shader")] | ||
|  |             public Shader LensFlareDataDrivenPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/ScalingSetup.shader")] | ||
|  |             public Shader scalingSetupPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/EdgeAdaptiveSpatialUpsampling.shader")] | ||
|  |             public Shader easuPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/UberPost.shader")] | ||
|  |             public Shader uberPostPS; | ||
|  | 
 | ||
|  |             [Reload("Shaders/PostProcessing/FinalPost.shader")] | ||
|  |             public Shader finalPostPassPS; | ||
|  |         } | ||
|  | 
 | ||
|  |         [Serializable, ReloadGroup] | ||
|  |         public sealed class TextureResources | ||
|  |         { | ||
|  |             // Pre-baked noise | ||
|  |             [Reload("Textures/BlueNoise16/L/LDR_LLL1_{0}.png", 0, 32)] | ||
|  |             public Texture2D[] blueNoise16LTex; | ||
|  | 
 | ||
|  |             // Post-processing | ||
|  |             [Reload(new[] | ||
|  |             { | ||
|  |                 "Textures/FilmGrain/Thin01.png", | ||
|  |                 "Textures/FilmGrain/Thin02.png", | ||
|  |                 "Textures/FilmGrain/Medium01.png", | ||
|  |                 "Textures/FilmGrain/Medium02.png", | ||
|  |                 "Textures/FilmGrain/Medium03.png", | ||
|  |                 "Textures/FilmGrain/Medium04.png", | ||
|  |                 "Textures/FilmGrain/Medium05.png", | ||
|  |                 "Textures/FilmGrain/Medium06.png", | ||
|  |                 "Textures/FilmGrain/Large01.png", | ||
|  |                 "Textures/FilmGrain/Large02.png" | ||
|  |             })] | ||
|  |             public Texture2D[] filmGrainTex; | ||
|  | 
 | ||
|  |             [Reload("Textures/SMAA/AreaTex.tga")] | ||
|  |             public Texture2D smaaAreaTex; | ||
|  | 
 | ||
|  |             [Reload("Textures/SMAA/SearchTex.tga")] | ||
|  |             public Texture2D smaaSearchTex; | ||
|  |         } | ||
|  | 
 | ||
|  |         public ShaderResources shaders; | ||
|  |         public TextureResources textures; | ||
|  |     } | ||
|  | } |