summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Rendering
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-03-10 14:07:40 +0800
committerchai <chaifix@163.com>2022-03-10 14:07:40 +0800
commit22891bf59032ba88262824255a706d652031384b (patch)
tree7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/Scripts/Rendering
parent8b04ea73e540067f83870b61d89db4868fea5e8a (diff)
* move folder
Diffstat (limited to 'Assets/Scripts/Rendering')
-rw-r--r--Assets/Scripts/Rendering/CustomLight.cs46
-rw-r--r--Assets/Scripts/Rendering/CustomLight.cs.meta11
-rw-r--r--Assets/Scripts/Rendering/CustomLighting.cs9
-rw-r--r--Assets/Scripts/Rendering/CustomLighting.cs.meta11
-rw-r--r--Assets/Scripts/Rendering/CustomRenderer.cs50
-rw-r--r--Assets/Scripts/Rendering/CustomRenderer.cs.meta11
-rw-r--r--Assets/Scripts/Rendering/CustomRenderingPipeline.cs89
-rw-r--r--Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta11
-rw-r--r--Assets/Scripts/Rendering/RenderingUtility.cs93
-rw-r--r--Assets/Scripts/Rendering/RenderingUtility.cs.meta11
10 files changed, 0 insertions, 342 deletions
diff --git a/Assets/Scripts/Rendering/CustomLight.cs b/Assets/Scripts/Rendering/CustomLight.cs
deleted file mode 100644
index 404dee12..00000000
--- a/Assets/Scripts/Rendering/CustomLight.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class CustomLight : MonoBehaviour
-{
- // Start is called before the first frame update
- void OnEnable()
- {
- CustomLightRegistry.Instance.Register(this);
- }
-
- // Update is called once per frame
- void OnDisable()
- {
- CustomLightRegistry.Instance.Unregister(this);
- }
-}
-
-public class CustomLightRegistry : Singleton<CustomLightRegistry>
-{
- private List<CustomLight> m_Lights;
- public List<CustomLight> lights
- {
- get
- {
- if (m_Lights == null)
- m_Lights = new List<CustomLight>();
- return m_Lights;
- }
- }
-
- public void Register(CustomLight renderer)
- {
- if (!lights.Contains(renderer))
- {
- lights.Add(renderer);
- }
- }
-
- public void Unregister(CustomLight renderer)
- {
- lights.Remove(renderer);
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Rendering/CustomLight.cs.meta b/Assets/Scripts/Rendering/CustomLight.cs.meta
deleted file mode 100644
index 51106c9d..00000000
--- a/Assets/Scripts/Rendering/CustomLight.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d07937a2b7582554e9ec6ba1fcf41504
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Rendering/CustomLighting.cs b/Assets/Scripts/Rendering/CustomLighting.cs
deleted file mode 100644
index 57597e21..00000000
--- a/Assets/Scripts/Rendering/CustomLighting.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index c1f70391..00000000
--- a/Assets/Scripts/Rendering/CustomLighting.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 483db9507b5e5924a86daaffdf7e33cc
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Rendering/CustomRenderer.cs b/Assets/Scripts/Rendering/CustomRenderer.cs
deleted file mode 100644
index 07c6ec7f..00000000
--- a/Assets/Scripts/Rendering/CustomRenderer.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-[RequireComponent(typeof(Renderer))]
-public class CustomRenderer : MonoBehaviour
-{
- public new Renderer renderer { get; private set; }
-
- void OnEnable()
- {
- renderer = GetComponent<Renderer>();
-
- CustomRendererRegistry.Instance.Register(this);
- }
-
- void OnDisable()
- {
- CustomRendererRegistry.Instance.Unregister(this);
- }
-
-}
-
-public class CustomRendererRegistry : Singleton<CustomRendererRegistry>
-{
- private List<CustomRenderer> m_Renderers;
- public List<CustomRenderer> renderers
- {
- get
- {
- if (m_Renderers == null)
- m_Renderers = new List<CustomRenderer>();
- return m_Renderers;
- }
- }
-
- public void Register(CustomRenderer renderer)
- {
- if(!renderers.Contains(renderer))
- {
- renderers.Add(renderer);
- }
- }
-
- public void Unregister(CustomRenderer renderer)
- {
- renderers.Remove(renderer);
- }
-
-}
diff --git a/Assets/Scripts/Rendering/CustomRenderer.cs.meta b/Assets/Scripts/Rendering/CustomRenderer.cs.meta
deleted file mode 100644
index b9742494..00000000
--- a/Assets/Scripts/Rendering/CustomRenderer.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c37c88af4ec59ad47ab867ec63cd0d76
-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
deleted file mode 100644
index befeed87..00000000
--- a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Rendering;
-
-// 相机的自定义管线
-// 混合延迟渲染和前向渲染
-[RequireComponent(typeof(MainCamera))]
-public class CustomRenderingPipeline : MonoBehaviour
-{
- [Tooltip("开启自定义延迟渲染")]
- public bool enableDeferredRender;
-
- public delegate void RenderEventHandler();
- // UnitPreprocessing, UnitLensEffect, etc
- public event RenderEventHandler onPreCull;
- public event RenderEventHandler onPreRender;
- public event RenderEventHandler onPostRender;
-
- Camera m_Camera;
-
- // command buffers
- CommandBuffer m_CommandBufferAfterDepth;
-
- RenderTargetIdentifier[] m_GBuffer = new RenderTargetIdentifier[2];
- RenderTargetIdentifier m_DepthBuffer;
- RenderTexture m_GBufferTextureNormal;
- RenderTexture m_GBufferTexturePosition;
-
- void OnEnable()
- {
- m_Camera = GetComponent<Camera>();
-
- // command buffers
- m_CommandBufferAfterDepth = new CommandBuffer();
- m_CommandBufferAfterDepth.name = "Custom RenderPipeline GBuffer";
- m_Camera.AddCommandBuffer(CameraEvent.AfterDepthTexture, m_CommandBufferAfterDepth);
-
- // render targets
- int width = m_Camera.pixelWidth, height = m_Camera.pixelHeight;
- m_GBufferTextureNormal = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
- m_GBufferTexturePosition = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear);
- m_GBuffer[0] = m_GBufferTextureNormal.colorBuffer;
- m_GBuffer[1] = m_GBufferTexturePosition.colorBuffer;
- m_DepthBuffer = m_GBufferTextureNormal.depthBuffer;
- }
-
- void OnDisable()
- {
- m_Camera.RemoveAllCommandBuffers();
- }
-
- void OnPreCull()
- {
- m_CommandBufferAfterDepth.Clear();
-
- RenderGBuffer();
-
- onPreCull?.Invoke();
- }
-
- void OnPreRender()
- {
- onPreRender?.Invoke();
- }
-
- void OnPostRender()
- {
- onPostRender?.Invoke();
- }
-
- void RenderGBuffer()
- {
- CommandBuffer cb = m_CommandBufferAfterDepth;
- cb.SetRenderTarget(m_GBuffer, m_DepthBuffer);
- cb.ClearRenderTarget(true, true, new Color(0, 0, 0, 0));
- List<CustomRenderer> renderers = CustomRendererRegistry.Instance.renderers;
- Material mat = new Material(Shader.Find(StaticDefine.shaders[EShader.GBuffer].name));
- for(int i = 0; i < renderers.Count; ++i)
- {
- CustomRenderer renderer = renderers[i];
- if (renderer == null)
- continue;
- cb.DrawRenderer(renderer.renderer, mat);
- }
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta
deleted file mode 100644
index 1a3cac2c..00000000
--- a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index 5313f59d..00000000
--- a/Assets/Scripts/Rendering/RenderingUtility.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-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];
- }
-
- /// <summary>
- /// 计算在rt里面的区域
- /// </summary>
- /// <param name="camera">相机</param>
- /// <param name="worldPos">世界空间坐标</param>
- /// <param name="size">异体矩形(billboard)的相机空间大小</param>
- /// <returns></returns>
- public static Vector4 GetTillingOffset(Camera camera, Vector3 worldPos, float sizeInCameraSpace)
- {
- Vector4 tileOffset = new Vector4(1,1,0,0);
- Vector3 camPos = camera.WorldToCameraSpace(worldPos);
-
- Vector3 bottomLeft = new Vector3(camPos.x - sizeInCameraSpace / 2, camPos.y - sizeInCameraSpace / 2, camPos.z);
- Vector3 topRight = new Vector3(camPos.x + sizeInCameraSpace / 2, camPos.y + sizeInCameraSpace / 2, camPos.z);
- Vector2 blViewPos = camera.CameraToViewportSpace(bottomLeft);
- Vector2 trViewPos = camera.CameraToViewportSpace(topRight);
- float width = trViewPos.x - blViewPos.x;
- float height = trViewPos.y - blViewPos.y;
-
- tileOffset.x = width;
- tileOffset.y = height;
- tileOffset.z = blViewPos.x;
- tileOffset.w = blViewPos.y;
- return tileOffset;
- }
-
-}
diff --git a/Assets/Scripts/Rendering/RenderingUtility.cs.meta b/Assets/Scripts/Rendering/RenderingUtility.cs.meta
deleted file mode 100644
index 83570ebb..00000000
--- a/Assets/Scripts/Rendering/RenderingUtility.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: bc9ab0eb4b2a0754e9bb9ec7a2f945c4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: