【Unity SRP】实现基础的Temporal AA(未完)
发布人:shili8
发布时间:2024-01-26 05:45
阅读次数:82
Temporal Anti-Aliasing (TAA) 是一种用于减少图形中锯齿和闪烁的技术。在Unity中,我们可以通过自定义渲染管线来实现基础的TAA。下面是一个简单的示例,演示了如何在Unity中使用Scriptable Render Pipeline(SRP)来实现基础的TAA。
首先,我们需要创建一个自定义的渲染管线。我们可以使用Unity的Built-in Render Pipeline或者Universal Render Pipeline(URP)来创建自定义的渲染管线。在这个示例中,我们将使用URP。
csharpusing UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class CustomRenderPipeline : ScriptableRendererFeature{
public class CustomRenderPass : ScriptableRenderPass {
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
// 在这里实现TAA }
}
public override void Create()
{
var pass = new CustomRenderPass();
pass.renderPassEvent = RenderPassEvent.AfterRenderingOpaques;
rendererFeature.AddRenderPass(pass);
}
}
在CustomRenderPipeline类中,我们创建了一个CustomRenderPass类,它继承自ScriptableRenderPass。在CustomRenderPass类中,我们可以实现TAA的逻辑。
接下来,我们需要在URP的渲染管线中添加我们的CustomRenderPipeline。我们可以通过创建一个URP的Asset并将其分配给我们的相机来实现这一点。
csharpusing UnityEngine;
using UnityEngine.Rendering.Universal;
public class CustomRenderPipelineSetup : MonoBehaviour{
public UniversalRenderPipelineAsset customPipelineAsset;
void Start()
{
var camera = GetComponent();
camera.renderingPath = RenderingPath.Forward;
camera.forceIntoRenderTexture = true;
camera.allowMSAA = false;
camera.allowHDR = true;
camera.allowDynamicResolution = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allowGPUFetch = true;
camera.allowDepthTexture = true;
camera.allowMSAA = true;
camera.allowDynamicResolution = true;
camera.allowHDR = true;
camera.allow

