summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Rendering/CustomRenderingPipeline.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Rendering/CustomRenderingPipeline.cs')
-rw-r--r--Assets/Scripts/Rendering/CustomRenderingPipeline.cs19
1 files changed, 7 insertions, 12 deletions
diff --git a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs
index 9387cf52..befeed87 100644
--- a/Assets/Scripts/Rendering/CustomRenderingPipeline.cs
+++ b/Assets/Scripts/Rendering/CustomRenderingPipeline.cs
@@ -5,6 +5,7 @@ using UnityEngine;
using UnityEngine.Rendering;
// 相机的自定义管线
+// 混合延迟渲染和前向渲染
[RequireComponent(typeof(MainCamera))]
public class CustomRenderingPipeline : MonoBehaviour
{
@@ -22,12 +23,10 @@ public class CustomRenderingPipeline : MonoBehaviour
// command buffers
CommandBuffer m_CommandBufferAfterDepth;
- RenderTargetIdentifier[] m_GBuffer = new RenderTargetIdentifier[4];
+ RenderTargetIdentifier[] m_GBuffer = new RenderTargetIdentifier[2];
RenderTargetIdentifier m_DepthBuffer;
- RenderTexture m_GBufferTextureDiffuse;
RenderTexture m_GBufferTextureNormal;
RenderTexture m_GBufferTexturePosition;
- RenderTexture m_GBufferTextureTexCoord;
void OnEnable()
{
@@ -35,20 +34,16 @@ public class CustomRenderingPipeline : MonoBehaviour
// command buffers
m_CommandBufferAfterDepth = new CommandBuffer();
- m_Camera.AddCommandBuffer(CameraEvent.AfterDepthTexture, m_CommandBufferAfterDepth);
+ 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_GBufferTextureDiffuse = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
m_GBufferTextureNormal = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
m_GBufferTexturePosition = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear);
- m_GBufferTextureTexCoord = RenderTexture.GetTemporary(width, height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
- m_GBuffer[0] = m_GBufferTextureDiffuse.colorBuffer;
- m_GBuffer[1] = m_GBufferTextureNormal.colorBuffer;
- m_GBuffer[2] = m_GBufferTexturePosition.colorBuffer;
- m_GBuffer[3] = m_GBufferTextureTexCoord.colorBuffer;
- m_DepthBuffer = m_GBufferTextureDiffuse.depthBuffer;
-
+ m_GBuffer[0] = m_GBufferTextureNormal.colorBuffer;
+ m_GBuffer[1] = m_GBufferTexturePosition.colorBuffer;
+ m_DepthBuffer = m_GBufferTextureNormal.depthBuffer;
}
void OnDisable()