diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml index 424f0bd8..63a6194a 100644 --- a/app/qml/ApplicationSettings.qml +++ b/app/qml/ApplicationSettings.qml @@ -32,7 +32,7 @@ QtObject { readonly property real maximumFontScaling: 2.50 readonly property real minBurnInFadeTime: 160 - readonly property real maxBurnInFadeTime: 1600 + readonly property real maxBurnInFadeTime: 160000 property bool isMacOS: Qt.platform.os === "osx" diff --git a/app/qml/BurnInEffect.qml b/app/qml/BurnInEffect.qml index 6016e25c..a101d97e 100644 --- a/app/qml/BurnInEffect.qml +++ b/app/qml/BurnInEffect.qml @@ -29,8 +29,8 @@ Loader { property real lastUpdate: 0 property real prevLastUpdate: 0 - property real burnIn: appSettings.burnIn - property real burnInFadeTime: 1 / Utils.lint(_minBurnInFadeTime, _maxBurnInFadeTime, burnIn) + property real burnIn: appSettings.burnIn; + property real burnInFadeTime: (1 / Utils.lint(_minBurnInFadeTime, _maxBurnInFadeTime, burnIn))*64 property real _minBurnInFadeTime: appSettings.minBurnInFadeTime property real _maxBurnInFadeTime: appSettings.maxBurnInFadeTime @@ -146,9 +146,8 @@ Loader { float prevMask = accColor.a; float currMask = rgb2grey(txtColor); - highp float blurDecay = clamp((lastUpdate - prevLastUpdate) * burnInTime, 0.0, 1.0); - blurDecay = max(0.0, blurDecay - prevMask); - vec3 blurColor = accColor.rgb - vec3(blurDecay); + highp float blurDecay = clamp(pow(0.5, burnInTime * (lastUpdate - prevLastUpdate)), 0.0, 1.0); + vec3 blurColor = accColor.rgb * vec3(blurDecay); vec3 color = max(blurColor, txtColor); gl_FragColor = vec4(color, currMask); diff --git a/app/qml/ShaderTerminal.qml b/app/qml/ShaderTerminal.qml index 2de0d9b0..bb46df2a 100644 --- a/app/qml/ShaderTerminal.qml +++ b/app/qml/ShaderTerminal.qml @@ -302,8 +302,8 @@ Item { (burnIn !== 0 ? " vec4 txt_blur = texture2D(burnInSource, staticCoords); - float blurDecay = clamp((time - burnInLastUpdate) * burnInTime, 0.0, 1.0); - vec3 burnInColor = 0.65 * (txt_blur.rgb - vec3(blurDecay)); + float blurDecay = clamp(pow(0.5, burnInTime * (time - burnInLastUpdate)), 0.0, 1.0); + vec3 burnInColor = txt_blur.rgb * vec3(blurDecay); txt_color = max(txt_color, convertWithChroma(burnInColor));" : "") +