12345678910111213141516171819202122232425262728293031323334353637383940 |
- using UnityEngine;
- [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 void Start ()
- {
- // Disable if we don't support image effects
- if (!SystemInfo.supportsImageEffects) {
- enabled = false;
- return;
- }
-
- // 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 void OnDisable() {
- if( m_Material ) {
- DestroyImmediate( m_Material );
- }
- }
- }
|