//namespace UnityEngine.PostProcessing //{ // public sealed class ChromaticAberrationComponent : PostProcessingComponentRenderTexture // { // static class Uniforms // { // internal static readonly int _ChromaticAberration_Amount = Shader.PropertyToID("_ChromaticAberration_Amount"); // internal static readonly int _ChromaticAberration_Spectrum = Shader.PropertyToID("_ChromaticAberration_Spectrum"); // } // Texture2D m_SpectrumLut; // public override bool active // { // get // { // return model.enabled // && model.settings.intensity > 0f // && !context.interrupted; // } // } // public override void OnDisable() // { // GraphicsUtils.Destroy(m_SpectrumLut); // m_SpectrumLut = null; // } // public override void Prepare(Material uberMaterial) // { // var settings = model.settings; // var spectralLut = settings.spectralTexture; // if (spectralLut == null) // { // if (m_SpectrumLut == null) // { // m_SpectrumLut = new Texture2D(3, 1, TextureFormat.RGB24, false) // { // name = "Chromatic Aberration Spectrum Lookup", // filterMode = FilterMode.Bilinear, // wrapMode = TextureWrapMode.Clamp, // anisoLevel = 0, // hideFlags = HideFlags.DontSave // }; // var pixels = new Color[3]; // pixels[0] = new Color(1f, 0f, 0f); // pixels[1] = new Color(0f, 1f, 0f); // pixels[2] = new Color(0f, 0f, 1f); // m_SpectrumLut.SetPixels(pixels); // m_SpectrumLut.Apply(); // } // spectralLut = m_SpectrumLut; // } // uberMaterial.EnableKeyword("CHROMATIC_ABERRATION"); // uberMaterial.SetFloat(Uniforms._ChromaticAberration_Amount, settings.intensity * 0.03f); // uberMaterial.SetTexture(Uniforms._ChromaticAberration_Spectrum, spectralLut); // } // } //}