From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- .../Scripts/Rendering/CustomRenderingPipeline.cs | 89 ---------------------- 1 file changed, 89 deletions(-) delete mode 100644 Assets/Scripts/Rendering/CustomRenderingPipeline.cs (limited to 'Assets/Scripts/Rendering/CustomRenderingPipeline.cs') 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(); - - // 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 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 -- cgit v1.1-26-g67d0