religion/Assets/URP/HLRenderPass.cs

54 lines
2.1 KiB
C#
Raw Permalink Normal View History

Squashed commit of the following: commit 9b1756077de6fd5005c6d7300b470e2bfa223f97 Author: SAIPO <grasste0403@hotmail.com> Date: Thu Dec 2 16:10:18 2021 +0800 任务:编写屏幕后特效的渲染框架 1.合并分支 2.完成框架编写,代码文件在URP文件夹里 commit 994279b09e8676155176aecbcd43f13ab90f2c92 Author: SAIPO <grasste0403@hotmail.com> Date: Mon Nov 29 23:59:44 2021 +0800 任务:编写效果Shader 1.增加了通过高斯模糊公式实现的高斯模糊shader(建议用在背景层,让画面有一些景深感觉) 2.增加了像素化的shader,通过在片元着色器上的uv合并,可以使贴图变为像素风格 3.增加了闪光划过的shader commit 271e45aeb97212640573a9faf71483cece293043 Author: SAIPO <grasste0403@hotmail.com> Date: Mon Nov 29 23:09:30 2021 +0800 11.29合并分支 commit dfa618fabaf36626e1b92e7ab34c87d497bcdeb3 Author: SAIPO <grasste0403@hotmail.com> Date: Sat Nov 27 13:42:16 2021 +0800 合并分支 commit de8d79b73e560814ff9fc8a0c3418009682c5ef8 Author: SAIPO <grasste0403@hotmail.com> Date: Tue Nov 23 21:25:44 2021 +0800 任务:搭建Mysql数据库相关框架 1.完成Mysql动态链接库的导入 2.实现基本的服务器连接数据框架 3.实现Sql语句查询框架 # Conflicts: # .merge_file_a14904 # .merge_file_a17704 # Assets/Behavior Designer/Resources.meta # Assets/Demigiant/DOTween.meta # Assets/Demigiant/DOTween/Editor.meta # Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta # Assets/Demigiant/DOTween/Modules.meta # Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta # Assets/Prefabs/镰刀.prefab.meta # Assets/Scenes/test.unity # Assets/Shader.meta # Logs/ApiUpdaterCheck.txt
2021-12-02 20:21:03 +08:00
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class HLRenderPass : ScriptableRenderPass
{
public Material mMat;
public int blitShaderPassIndex = 0;
public FilterMode filterMode { get; set; }
private RenderTargetIdentifier source { get; set; }
private RenderTargetHandle destination { get; set; }
RenderTargetHandle m_temporaryColorTexture;
string m_ProfilerTag;
public HLRenderPass(string passname, RenderPassEvent _event, Material _mat,float contrast)
{
m_ProfilerTag = passname;
this.renderPassEvent = _event;
mMat = _mat;
mMat.SetFloat("_Contrast", contrast);
m_temporaryColorTexture.Init("temporaryColorTexture");
}
public void Setup(RenderTargetIdentifier src, RenderTargetHandle dest)
{
this.source = src;
this.destination = dest;
}
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
CommandBuffer cmd = CommandBufferPool.Get(m_ProfilerTag);
RenderTextureDescriptor opaqueDesc = renderingData.cameraData.cameraTargetDescriptor;
opaqueDesc.depthBufferBits = 0;
if (destination == RenderTargetHandle.CameraTarget)
{
cmd.GetTemporaryRT(m_temporaryColorTexture.id, opaqueDesc, filterMode);
Blit(cmd, source, m_temporaryColorTexture.Identifier(), mMat, blitShaderPassIndex);
Blit(cmd, m_temporaryColorTexture.Identifier(), source);
}
else
{
Blit(cmd, source, destination.Identifier(), mMat, blitShaderPassIndex);
}
context.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);
}
public override void FrameCleanup(CommandBuffer cmd)
{
if (destination == RenderTargetHandle.CameraTarget)
cmd.ReleaseTemporaryRT(m_temporaryColorTexture.id);
}
}