religion/Assets/URP/RenderPassFeature.cs

52 lines
1.8 KiB
C#
Raw 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 RenderPassFeature : ScriptableRendererFeature
{
public enum Target
{
Color,
Texture
}
[System.Serializable]
public class HLSettings
{
public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingSkybox;
public Material mMat;
public Target destination = Target.Color;
public int blitMaterialPassIndex = -1;
public string textureId = "_ScreenTexture";
public float contrast = 0.5f;
}
public HLSettings settings = new HLSettings();
RenderTargetHandle m_renderTargetHandle;
HLRenderPass m_ScriptablePass;
public override void Create()
{
int passIndex = settings.mMat != null ? settings.mMat.passCount - 1 : 1;
settings.blitMaterialPassIndex = Mathf.Clamp(settings.blitMaterialPassIndex, -1, passIndex);
m_ScriptablePass = new HLRenderPass("HLPostEffectRender", settings.renderPassEvent, settings.mMat, settings.contrast);
m_renderTargetHandle.Init(settings.textureId);
}
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
var src = renderer.cameraColorTarget;
var dest = (settings.destination == Target.Color) ? RenderTargetHandle.CameraTarget : m_renderTargetHandle;
if (settings.mMat == null)
{
Debug.LogWarningFormat("丢失blit材质");
return;
}
m_ScriptablePass.Setup(src,dest);
renderer.EnqueuePass(m_ScriptablePass);
}
}