后处理+FEEL完全改进
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Echovoid.Runtime.Behavior.Rendering;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
namespace SLSFramework.Rendering.PostProcessing
|
||||
{
|
||||
public enum CustomPostProcessInjectionPoint
|
||||
{
|
||||
AfterTransparent,
|
||||
BeforePostProcess,
|
||||
AfterPostProcess
|
||||
}
|
||||
|
||||
public abstract class ScriptablePostProcessorVolume : VolumeComponent, IPostProcessComponent, IDisposable
|
||||
{
|
||||
public virtual CustomPostProcessInjectionPoint InjectionPoint =>
|
||||
CustomPostProcessInjectionPoint.AfterPostProcess;
|
||||
|
||||
public virtual int OrderInInjectionPoint => 0;
|
||||
|
||||
protected Material material;
|
||||
|
||||
protected abstract string GetShaderName();
|
||||
|
||||
public virtual void Setup()
|
||||
{
|
||||
material = InternalShaderHelpers.GenerateTransientMaterial(GetShaderName());
|
||||
}
|
||||
|
||||
public abstract void Render(CommandBuffer cmd, ref RenderingData renderingData, RTHandle source, RTHandle destination);
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public virtual void Dispose(bool disposing)
|
||||
{
|
||||
CoreUtils.Destroy(material);
|
||||
}
|
||||
|
||||
public abstract bool IsActive();
|
||||
|
||||
public bool IsTileCompatible() => false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user