protected override string GetInformationString() { #if SSLR_PARAMETRIZED if (SslrAdjustCurrentMode != SslrAdjustMode.None) { return($@"Mode: {SslrAdjustCurrentMode} Start from: {_sslrStartFrom} Fix multiplier: {_sslrFixMultiplier} Offset: {_sslrOffset} Grow fix: {_sslrGrowFix} Distance threshold: {_sslrDistanceThreshold}"); } #endif var aa = new[] { UseMsaa?MsaaSampleCount + "xMSAA" : null, UseSsaa ? $"{Math.Pow(ResolutionMultiplier, 2d).Round()}xSSAA{(TemporaryFlag ? " (exp.)" : "")}" : null, UseFxaa ? "FXAA" : null, }.NonNull().JoinToString(", "); var se = new[] { UseSslr ? "SSLR" : null, UseAo ? AoType.GetDescription() : null, UseBloom ? "Bloom" : null, }.NonNull().JoinToString(", "); var pp = new[] { ToneMapping != ToneMappingFn.None ? "Tone Mapping" : null, UseColorGrading&& ColorGradingData != null ? "Color Grading" : null }.NonNull().JoinToString(", "); if (ToneMapping != ToneMappingFn.None) { pp += $"\r\nTone Mapping Func.: {ToneMapping.GetDescription()}"; pp += $"\r\nExp./Gamma/White P.: {ToneExposure:F2}, {ToneGamma:F2}, {ToneWhitePoint:F2}"; } return(CarNode?.DebugString ?? $@" FPS: {FramesPerSecond:F0}{(SyncInterval ? " (limited)" : "")} ({Width}×{Height}) Triangles: {CarNode?.TrianglesCount:D} AA: {(string.IsNullOrEmpty(aa) ? "None" : aa)} Shadows: {(EnableShadows ? $"{(UsePcss ? "Yes, PCSS" : "Yes")} ({ShadowMapSize})" : "No")} Effects: {(string.IsNullOrEmpty(se) ? "None" : se)} Color: {(string.IsNullOrWhiteSpace(pp) ? "Original" : pp)}".Trim()); }
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); } }
protected override string GetInformationString() { var aa = new[] { UseMsaa?MsaaSampleCount + "xMSAA" : null, UseSsaa ? $"{Math.Pow(ResolutionMultiplier, 2d).Round()}xSSAA" : null, UseFxaa ? "FXAA" : null, }.NonNull().JoinToString(", "); var se = new[] { UseDof?UseAccumulationDof ? "Acc. DOF" : "DOF" : null, UseSslr ? "SSLR" : null, UseAo ? AoType.GetDescription() : null, UseBloom ? "HDR" : null, }.NonNull().JoinToString(", "); var pp = new[] { ToneMapping != ToneMappingFn.None ? "Tone Mapping" : null, UseColorGrading&& ColorGradingData != null ? "Color Grading" : null }.NonNull().JoinToString(", "); if (ToneMapping != ToneMappingFn.None) { pp += $"\r\nTone Mapping Func.: {ToneMapping.GetDescription()}"; pp += $"\r\nExp./Gamma/White P.: {ToneExposure:F2}, {ToneGamma:F2}, {ToneWhitePoint:F2}"; } return(CarNode?.DebugString ?? $@" FPS: {FramesPerSecond:F0}{(SyncInterval ? " (limited)" : "")} ({Width}×{Height}) Triangles: {CarNode?.TrianglesCount:D} AA: {(string.IsNullOrEmpty(aa) ? "None" : aa)} Shadows: {(EnableShadows ? $"{(UsePcss ? "Yes, PCSS" : "Yes")} ({ShadowMapSize})" : "No")} Effects: {(string.IsNullOrEmpty(se) ? "None" : se)} Color: {(string.IsNullOrWhiteSpace(pp) ? "Original" : pp)} Shaders set: {_darkMode} Lights: {_lights.Count(x => x.ActuallyEnabled)} (shadows: {(EnableShadows ? 1 + _lights.Count(x => x.ActuallyEnabled && x.ShadowsActive) : 0)}) Skin editing: {(ImageUtils.IsMagickSupported ? MagickOverride ? "Magick.NET av., enabled" : "Magick.NET av., disabled" : "Magick.NET not available")}".Trim()); }
public void Update_ColorGrading(Camera mainCamera, bool enabled, ToneMapping mode, float exposure, float contrast, float gamma, float saturation, float r, float g, float b, float vignette) { if (enabled) { if (!mainCamera.GetComponent <MobileColorGrading> ()) { mainCamera.gameObject.AddComponent <MobileColorGrading> (); } MobileColorGrading colorGrading = mainCamera.GetComponent <MobileColorGrading> (); #if UNITY_EDITOR if (mainCamera.GetComponent <AudioListener> ()) { UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <AudioListener> ()); } if (mainCamera.GetComponent <MobileColorGrading> ()) { UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <MobileColorGrading> ()); UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <MobileColorGrading> ()); } if (mainCamera.GetComponent <BloomOptimized> ()) { UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <BloomOptimized> ()); UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <BloomOptimized> ()); } if (mainCamera.GetComponent <DepthOfFieldDeprecated> ()) { UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <DepthOfFieldDeprecated> ()); UnityEditorInternal.ComponentUtility.MoveComponentDown(mainCamera.GetComponent <DepthOfFieldDeprecated> ()); } #endif if (!colorGrading.shader) { colorGrading.shader = Shader.Find("Hidden/ALIyerEdon/ColorGrading"); } colorGrading.Exposure = exposure; colorGrading.toneMapping = mode; colorGrading.Contrast = contrast; colorGrading.Gamma = gamma; colorGrading.Saturation = saturation; colorGrading.R = r; colorGrading.G = g; colorGrading.B = b; colorGrading.vignetteIntensity = vignette; } else { if (mainCamera.GetComponent <MobileColorGrading> ()) { if (Application.isPlaying) { Destroy(mainCamera.GetComponent <MobileColorGrading> ()); } else { DestroyImmediate(mainCamera.GetComponent <MobileColorGrading> ()); } } } }