Example #1
0
        private void UpdateColorGrading()
        {
            try
            {
                ToneMapping        vanillaToneMapping        = _camera.gameObject.GetComponent <ToneMapping>();
                ColorCorrectionLut vanillaColorCorrectionLut = _camera.gameObject.GetComponent <ColorCorrectionLut>();

                ColorGradingModel.Settings settings = _colorGradingModel.settings;

                if (ModProperties.Instance.ActiveProfile.ColorGradingEnabled)
                {
                    vanillaToneMapping.enabled        = ModProperties.Instance.ActiveProfile.CGVanillaTonemappingEnabled;
                    vanillaColorCorrectionLut.enabled = ModProperties.Instance.ActiveProfile.CGVanillaColorCorrectionLUTEnabled;
                    settings.basic.postExposure       = ModProperties.Instance.ActiveProfile.CGPostExposure;
                    settings.basic.temperature        = ModProperties.Instance.ActiveProfile.CGTemperature;
                    settings.basic.tint                    = ModProperties.Instance.ActiveProfile.CGTint;
                    settings.basic.hueShift                = ModProperties.Instance.ActiveProfile.CGHueShift;
                    settings.basic.saturation              = ModProperties.Instance.ActiveProfile.CGSaturation;
                    settings.basic.contrast                = ModProperties.Instance.ActiveProfile.CGContrast;
                    settings.tonemapping.tonemapper        = (ColorGradingModel.Tonemapper)ModProperties.Instance.ActiveProfile.CGTonemapper;
                    settings.tonemapping.neutralBlackIn    = ModProperties.Instance.ActiveProfile.CGNeutralBlackIn;
                    settings.tonemapping.neutralWhiteIn    = ModProperties.Instance.ActiveProfile.CGNeutralWhiteIn;
                    settings.tonemapping.neutralBlackOut   = ModProperties.Instance.ActiveProfile.CGNeutralBlackOut;
                    settings.tonemapping.neutralWhiteOut   = ModProperties.Instance.ActiveProfile.CGNeutralWhiteOut;
                    settings.tonemapping.neutralWhiteLevel = ModProperties.Instance.ActiveProfile.CGNeutralWhiteLevel;
                    settings.tonemapping.neutralWhiteClip  = ModProperties.Instance.ActiveProfile.CGNeutralWhiteClip;
                    _colorGradingModel.settings            = settings;
                    _colorGradingModel.enabled             = true;
                }
                else
                {
                    vanillaToneMapping.enabled        = true;
                    vanillaColorCorrectionLut.enabled = true;
                    _colorGradingModel.enabled        = false;
                }

                _postProcessingBehaviour.profile.colorGrading.settings = _colorGradingModel.settings;
                _postProcessingBehaviour.profile.colorGrading.enabled  = _colorGradingModel.enabled;
            }
            catch (Exception e)
            {
                Debug.Log("[Render It!] ModManager:UpdateColorGrading -> Exception: " + e.Message);
            }
        }
 private void Start()
 {
     LutControl         = FXMainCamera.Instance.CurrentCamera.GetComponent <ColorCorrectionLut>();
     LutControl.enabled = false;
 }