| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System;
- using UnityEngine;
- namespace UnityStandardAssets.ImageEffects
- {
- [RequireComponent(typeof (Camera))]
- [AddComponentMenu("")]
- public class ImageEffectBase : MonoBehaviour
- {
- /// Provides a shader property that is set in the inspector
- /// and a material instantiated from the shader
- public Shader shader;
- private Material m_Material;
- protected virtual void Start()
- {
- // Disable the image effect if the shader can't
- // run on the users graphics card
- if (!shader || !shader.isSupported)
- enabled = false;
- }
- protected Material material
- {
- get
- {
- if (m_Material == null)
- {
- m_Material = new Material(shader);
- m_Material.hideFlags = HideFlags.HideAndDontSave;
- }
- return m_Material;
- }
- }
- protected virtual void OnDisable()
- {
- if (m_Material)
- {
- DestroyImmediate(m_Material);
- }
- }
- }
- }
|