////using System; ////using System.Collections.Generic; ////namespace UnityEngine.PostProcessing ////{ //// using UnityObject = Object; //// public sealed class MaterialFactory : IDisposable //// { //// Dictionary m_Materials; //// public MaterialFactory() //// { //// m_Materials = new Dictionary(); //// } //// //public Material Get(string shaderName) //// //{ //// // Material material; //// // if (!m_Materials.TryGetValue(shaderName, out material)) //// // { //// // var shader = Shader.Find(shaderName); //// // if (shader == null) //// // //throw new ArgumentException(string.Format("Shader not found ({0})", shaderName)); //// // material = new Material(shader) //// // { //// // name = string.Format("PostFX - {0}", shaderName.Substring(shaderName.LastIndexOf("/") + 1)), //// // hideFlags = HideFlags.DontSave //// // }; //// // m_Materials.Add(shaderName, material); //// // } //// // return material; //// //} //// public void Dispose() //// { //// var enumerator = m_Materials.GetEnumerator(); //// while (enumerator.MoveNext()) //// { //// var material = enumerator.Current.Value; //// GraphicsUtils.Destroy(material); //// } //// m_Materials.Clear(); //// } //// } ////}