You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.4 KiB

  1. using UnityEngine.Rendering;
  2. namespace UnityEngine.PostProcessing
  3. {
  4. public abstract class PostProcessingComponentBase
  5. {
  6. public PostProcessingContext context;
  7. public virtual DepthTextureMode GetCameraFlags()
  8. {
  9. return DepthTextureMode.None;
  10. }
  11. public abstract bool active { get; }
  12. public virtual void OnEnable()
  13. {}
  14. public virtual void OnDisable()
  15. {}
  16. public abstract PostProcessingModel GetModel();
  17. }
  18. public abstract class PostProcessingComponent<T> : PostProcessingComponentBase
  19. where T : PostProcessingModel
  20. {
  21. public T model { get; internal set; }
  22. public virtual void Init(PostProcessingContext pcontext, T pmodel)
  23. {
  24. context = pcontext;
  25. model = pmodel;
  26. }
  27. public override PostProcessingModel GetModel()
  28. {
  29. return model;
  30. }
  31. }
  32. public abstract class PostProcessingComponentCommandBuffer<T> : PostProcessingComponent<T>
  33. where T : PostProcessingModel
  34. {
  35. public abstract CameraEvent GetCameraEvent();
  36. public abstract string GetName();
  37. public abstract void PopulateCommandBuffer(CommandBuffer cb);
  38. }
  39. public abstract class PostProcessingComponentRenderTexture<T> : PostProcessingComponent<T>
  40. where T : PostProcessingModel
  41. {
  42. public virtual void Prepare(Material material)
  43. {}
  44. }
  45. }