PostEffectBase.cs 823 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using UnityEngine;
  2. using System.Collections;
  3. [ExecuteInEditMode]
  4. [RequireComponent(typeof(Camera))]
  5. public class PostEffectBase : MonoBehaviour
  6. {
  7. public Shader shader = null;
  8. private Material _material = null;
  9. public Material Mat
  10. {
  11. get
  12. {
  13. if (_material == null)
  14. _material = GenerateMaterial(shader);
  15. return _material;
  16. }
  17. }
  18. protected Material GenerateMaterial(Shader shader)
  19. {
  20. if (shader == null) return null;
  21. if (shader.isSupported == false) return null;
  22. Material mat = new Material(shader);
  23. mat.hideFlags = HideFlags.DontSave;
  24. return mat;
  25. }
  26. // Use this for initialization
  27. void Start()
  28. {
  29. }
  30. // Update is called once per frame
  31. void Update()
  32. {
  33. }
  34. }