summaryrefslogtreecommitdiff
path: root/Thronefall_v1.0/Decompile/CustomPostProcess.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_v1.0/Decompile/CustomPostProcess.cs')
-rw-r--r--Thronefall_v1.0/Decompile/CustomPostProcess.cs62
1 files changed, 62 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/CustomPostProcess.cs b/Thronefall_v1.0/Decompile/CustomPostProcess.cs
new file mode 100644
index 0000000..6b88bfc
--- /dev/null
+++ b/Thronefall_v1.0/Decompile/CustomPostProcess.cs
@@ -0,0 +1,62 @@
+using System;
+using UnityEngine;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+
+public class CustomPostProcess : ScriptableRendererFeature
+{
+ private class CustomRenderPass : ScriptableRenderPass
+ {
+ public RenderTargetIdentifier source;
+
+ private Material mat;
+
+ private RenderTargetHandle tempRenderTargetHandle;
+
+ public CustomRenderPass(Material _mat)
+ {
+ mat = _mat;
+ tempRenderTargetHandle.Init("_TemporaryColorTexture");
+ }
+
+ public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)
+ {
+ }
+
+ public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
+ {
+ CommandBuffer commandBuffer = CommandBufferPool.Get();
+ commandBuffer.GetTemporaryRT(tempRenderTargetHandle.id, renderingData.cameraData.cameraTargetDescriptor);
+ Blit(commandBuffer, source, tempRenderTargetHandle.Identifier(), mat);
+ Blit(commandBuffer, tempRenderTargetHandle.Identifier(), source);
+ context.ExecuteCommandBuffer(commandBuffer);
+ CommandBufferPool.Release(commandBuffer);
+ }
+
+ public override void OnCameraCleanup(CommandBuffer cmd)
+ {
+ }
+ }
+
+ [Serializable]
+ public class Settings
+ {
+ public Material material;
+ }
+
+ private CustomRenderPass m_ScriptablePass;
+
+ public Settings settings;
+
+ public override void Create()
+ {
+ m_ScriptablePass = new CustomRenderPass(settings.material);
+ m_ScriptablePass.renderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing;
+ }
+
+ public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
+ {
+ m_ScriptablePass.source = renderer.cameraColorTarget;
+ renderer.EnqueuePass(m_ScriptablePass);
+ }
+}