diff options
Diffstat (limited to 'Assets/Scripts/Rendering')
-rw-r--r-- | Assets/Scripts/Rendering/CustomLighting.cs | 9 | ||||
-rw-r--r-- | Assets/Scripts/Rendering/CustomLighting.cs.meta | 11 | ||||
-rw-r--r-- | Assets/Scripts/Rendering/CustomRenderingPipeline.cs | 46 | ||||
-rw-r--r-- | Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta | 11 | ||||
-rw-r--r-- | Assets/Scripts/Rendering/RenderingUtility.cs | 66 | ||||
-rw-r--r-- | Assets/Scripts/Rendering/RenderingUtility.cs.meta | 11 |
6 files changed, 154 insertions, 0 deletions
diff --git a/Assets/Scripts/Rendering/CustomLighting.cs b/Assets/Scripts/Rendering/CustomLighting.cs new file mode 100644 index 00000000..57597e21 --- /dev/null +++ b/Assets/Scripts/Rendering/CustomLighting.cs @@ -0,0 +1,9 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class CustomLightingSystem : Singleton<CustomLightingSystem>
+{
+
+
+}
diff --git a/Assets/Scripts/Rendering/CustomLighting.cs.meta b/Assets/Scripts/Rendering/CustomLighting.cs.meta new file mode 100644 index 00000000..c1f70391 --- /dev/null +++ b/Assets/Scripts/Rendering/CustomLighting.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 483db9507b5e5924a86daaffdf7e33cc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs new file mode 100644 index 00000000..af70e760 --- /dev/null +++ b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Rendering; + +[RequireComponent(typeof(MainCamera))] +public class CustomRenderingPipeline : MonoBehaviour +{
+
+ public delegate void RenderEventHandler();
+ public event RenderEventHandler onPreCull;
+ public event RenderEventHandler onPreRender;
+ public event RenderEventHandler onPostRender;
+
+ #region 公共贴图
+
+ #endregion
+
+ Camera m_Camera;
+
+ private void OnEable()
+ {
+ m_Camera = GetComponent<Camera>();
+ } + + private void Start()
+ {
+ }
+
+ private void OnPreCull()
+ {
+ onPreCull?.Invoke();
+ }
+
+ private void OnPreRender()
+ {
+ onPreRender?.Invoke();
+ }
+
+ private void OnPostRender()
+ {
+ onPostRender?.Invoke();
+ }
+
+}
\ No newline at end of file diff --git a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta new file mode 100644 index 00000000..1a3cac2c --- /dev/null +++ b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aaca34c56e4ce4f41a13d30db14959aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Rendering/RenderingUtility.cs b/Assets/Scripts/Rendering/RenderingUtility.cs new file mode 100644 index 00000000..297a9b79 --- /dev/null +++ b/Assets/Scripts/Rendering/RenderingUtility.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Rendering; +
+// https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html
+// https://docs.unity3d.com/ScriptReference/Rendering.CameraEvent.html
+
+// 前向渲染的camera events
+// * DepthTexture
+// * DepthNormalTexture
+// * ForwardOpaque
+// * ImageEffectsOpaque
+// * Skybox
+// * ForwardAlpha
+// * ImageEffects
+// * Everything
+ +[Flags] +public enum ERenderingEvent
+{
+ None = 0,
+ BeforeDepthTexture = 1,
+ BeforeDepthNormalsTexture = 1 << 1,
+ BeforeForwardOpaque = 1 << 2,
+ BeforeImageEffectsOpaque = 1 << 3,
+ BeforeSkybox = 1 << 4,
+ BeforeForwardAlpha = 1 << 5,
+ BeforeImageEffects = 1 << 6,
+ //BeforeEverything = 1 << 7,
+ AfterDepthTexture = 1 << 8,
+ AfterDepthNormalsTexture = 1 << 9,
+ AfterForwardOpaque = 1 << 10,
+ AfterImageEffectsOpaque = 1 << 11,
+ AfterSkybox = 1 << 12,
+ AfterForwardAlpha = 1 << 13,
+ AfterImageEffects = 1 << 14,
+ AfterEverything = 1 << 15,
+} +
+public static class RenderingUtility +{
+ public static Dictionary<ERenderingEvent, CameraEvent> renderingEventToCameraEventDic = new Dictionary<ERenderingEvent, CameraEvent> {
+ {ERenderingEvent.BeforeDepthTexture, CameraEvent.BeforeDepthTexture },
+ {ERenderingEvent.BeforeDepthNormalsTexture, CameraEvent.BeforeDepthNormalsTexture },
+ {ERenderingEvent.BeforeForwardOpaque, CameraEvent.BeforeForwardOpaque },
+ {ERenderingEvent.BeforeImageEffectsOpaque, CameraEvent.BeforeImageEffectsOpaque },
+ {ERenderingEvent.BeforeSkybox, CameraEvent.BeforeSkybox },
+ {ERenderingEvent.BeforeForwardAlpha, CameraEvent.BeforeForwardAlpha },
+ {ERenderingEvent.BeforeImageEffects, CameraEvent.BeforeImageEffects },
+ {ERenderingEvent.AfterDepthTexture, CameraEvent.AfterDepthTexture },
+ {ERenderingEvent.AfterDepthNormalsTexture, CameraEvent.AfterDepthNormalsTexture },
+ {ERenderingEvent.AfterForwardOpaque, CameraEvent.AfterForwardOpaque },
+ {ERenderingEvent.AfterImageEffectsOpaque, CameraEvent.AfterImageEffectsOpaque },
+ {ERenderingEvent.AfterSkybox, CameraEvent.AfterSkybox },
+ {ERenderingEvent.AfterForwardAlpha, CameraEvent.AfterForwardAlpha },
+ {ERenderingEvent.AfterImageEffects, CameraEvent.AfterImageEffects },
+ {ERenderingEvent.AfterEverything, CameraEvent.AfterEverything },
+ };
+ + public static CameraEvent ToCameraEvent(this ERenderingEvent e)
+ {
+ return renderingEventToCameraEventDic[e];
+ } +} diff --git a/Assets/Scripts/Rendering/RenderingUtility.cs.meta b/Assets/Scripts/Rendering/RenderingUtility.cs.meta new file mode 100644 index 00000000..83570ebb --- /dev/null +++ b/Assets/Scripts/Rendering/RenderingUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bc9ab0eb4b2a0754e9bb9ec7a2f945c4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |