| 1234567891011121314151617181920212223242526272829 |
- using UnityEngine;
- //提供一个后处理的基类,主要功能在于直接通过Inspector面板拖入shader,生成shader对应的材质
- public class PostEffectsBase : MonoBehaviour
- {
- //Inspector面板上直接拖入
- public Shader shader = null;
- private Material _material = null;
- /// <summary>
- /// 检测需要渲染的Shader可用性,然后返回使用了该shader的material
- /// </summary>
- /// <param name="shader">指定shader</param>
- /// <param name="material">创建的材质</param>
- /// <returns>得到指定shader的材质</returns>
- protected Material CheckShaderAndCreateMaterial(Shader shader, ref Material material)
- {
- if (shader == null || !shader.isSupported)
- return null;
- if (material && material.shader == shader)
- return material;
- material = new Material(shader);
- material.hideFlags = HideFlags.DontSave;
- return material;
- }
- }
|