59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using UnityEngine.Rendering;
|
|
|
|
namespace UnityEngine.PostProcessing
|
|
{
|
|
public abstract class PostProcessingComponentBase
|
|
{
|
|
public PostProcessingContext context;
|
|
|
|
public virtual DepthTextureMode GetCameraFlags()
|
|
{
|
|
return DepthTextureMode.None;
|
|
}
|
|
|
|
public abstract bool active { get; }
|
|
|
|
public virtual void OnEnable()
|
|
{}
|
|
|
|
public virtual void OnDisable()
|
|
{}
|
|
|
|
public abstract PostProcessingModel GetModel();
|
|
}
|
|
|
|
public abstract class PostProcessingComponent<T> : PostProcessingComponentBase
|
|
where T : PostProcessingModel
|
|
{
|
|
public T model { get; internal set; }
|
|
|
|
public virtual void Init(PostProcessingContext pcontext, T pmodel)
|
|
{
|
|
context = pcontext;
|
|
model = pmodel;
|
|
}
|
|
|
|
public override PostProcessingModel GetModel()
|
|
{
|
|
return model;
|
|
}
|
|
}
|
|
|
|
public abstract class PostProcessingComponentCommandBuffer<T> : PostProcessingComponent<T>
|
|
where T : PostProcessingModel
|
|
{
|
|
public abstract CameraEvent GetCameraEvent();
|
|
|
|
public abstract string GetName();
|
|
|
|
public abstract void PopulateCommandBuffer(CommandBuffer cb);
|
|
}
|
|
|
|
public abstract class PostProcessingComponentRenderTexture<T> : PostProcessingComponent<T>
|
|
where T : PostProcessingModel
|
|
{
|
|
public virtual void Prepare(Material material)
|
|
{}
|
|
}
|
|
}
|