*
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
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 virtual 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 virtual void OnDisable() {
|
||||
if( m_Material ) {
|
||||
DestroyImmediate( m_Material );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user