diff options
Diffstat (limited to 'Assets/Scripts/Rendering/CustomRenderingPipeline.cs')
-rw-r--r-- | Assets/Scripts/Rendering/CustomRenderingPipeline.cs | 19 |
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()
|