//namespace UnityEngine.PostProcessing //{ // public sealed class VignetteComponent : PostProcessingComponentRenderTexture // { // static class Uniforms // { // internal static readonly int _Vignette_Color = Shader.PropertyToID("_Vignette_Color"); // internal static readonly int _Vignette_Center = Shader.PropertyToID("_Vignette_Center"); // internal static readonly int _Vignette_Settings = Shader.PropertyToID("_Vignette_Settings"); // internal static readonly int _Vignette_Mask = Shader.PropertyToID("_Vignette_Mask"); // internal static readonly int _Vignette_Opacity = Shader.PropertyToID("_Vignette_Opacity"); // } // public override bool active // { // get // { // return model.enabled // && !context.interrupted; // } // } // public override void Prepare(Material uberMaterial) // { // var settings = model.settings; // uberMaterial.SetColor(Uniforms._Vignette_Color, settings.color); // if (settings.mode == VignetteModel.Mode.Classic) // { // uberMaterial.SetVector(Uniforms._Vignette_Center, settings.center); // uberMaterial.EnableKeyword("VIGNETTE_CLASSIC"); // float roundness = (1f - settings.roundness) * 6f + settings.roundness; // uberMaterial.SetVector(Uniforms._Vignette_Settings, new Vector3(settings.intensity * 3f, settings.smoothness * 5f, roundness)); // } // else if (settings.mode == VignetteModel.Mode.Round) // { // uberMaterial.SetVector(Uniforms._Vignette_Center, settings.center); // uberMaterial.EnableKeyword("VIGNETTE_ROUND"); // uberMaterial.SetVector(Uniforms._Vignette_Settings, new Vector3(settings.intensity * 3f, settings.smoothness * 5f, 1f)); // } // else if (settings.mode == VignetteModel.Mode.Masked) // { // if (settings.mask != null && settings.opacity > 0f) // { // uberMaterial.EnableKeyword("VIGNETTE_MASKED"); // uberMaterial.SetTexture(Uniforms._Vignette_Mask, settings.mask); // uberMaterial.SetFloat(Uniforms._Vignette_Opacity, settings.opacity); // } // } // } // } //}