diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml index c73aa37..4ce607a 100644 --- a/app/qml/ApplicationSettings.qml +++ b/app/qml/ApplicationSettings.qml @@ -98,11 +98,14 @@ QtObject { property real _frameShininess: 0.2 property real frameShininess: _frameShininess * 0.5 - property real _margin: 0.5 - property real margin: Utils.lint(1.0, 20.0, _margin) - property real _frameSize: 0.2 - property real frameSize: _frameSize * 0.1 + property real frameSize: _frameSize * 0.05 + + property real _screenRadius: 0.2 + property real screenRadius: Utils.lint(4.0, 40.0, _screenRadius) + + property real _margin: 0.5 + property real margin: Utils.lint(1.0, 40.0, _margin) + 0.5 * screenRadius readonly property int no_rasterization: 0 readonly property int scanline_rasterization: 1 @@ -301,6 +304,7 @@ QtObject { "margin": _margin, "blinkingCursor": blinkingCursor, "frameSize": _frameSize, + "screenRadius": _screenRadius, "frameColor": _frameColor, "frameShininess": _frameShininess } @@ -412,6 +416,7 @@ QtObject { _margin = settings.margin !== undefined ? settings.margin : _margin _frameSize = settings.frameSize !== undefined ? settings.frameSize : _frameSize + _screenRadius = settings.screenRadius !== undefined ? settings.screenRadius : _screenRadius _frameColor = settings.frameColor !== undefined ? settings.frameColor : _frameColor _frameShininess = settings.frameShininess !== undefined ? settings.frameShininess : _frameShininess diff --git a/app/qml/SettingsGeneralTab.qml b/app/qml/SettingsGeneralTab.qml index 0a70685..66fa272 100644 --- a/app/qml/SettingsGeneralTab.qml +++ b/app/qml/SettingsGeneralTab.qml @@ -211,6 +211,13 @@ ColumnLayout { onValueChanged: appSettings._margin = value value: appSettings._margin } + Label { + text: qsTr("Radius") + } + SimpleSlider { + onValueChanged: appSettings._screenRadius = value + value: appSettings._screenRadius + } Label { text: qsTr("Frame size") } diff --git a/app/qml/TerminalContainer.qml b/app/qml/TerminalContainer.qml index 28b725b..2e9e361 100644 --- a/app/qml/TerminalContainer.qml +++ b/app/qml/TerminalContainer.qml @@ -72,6 +72,7 @@ ShaderTerminal { sourceComponent: ShaderEffectSource { id: _bloomEffectSource sourceItem: bloomEffectLoader.item + wrapMode: ShaderEffectSource.Repeat hideSource: true smooth: true visible: false diff --git a/app/qml/TerminalFrame.qml b/app/qml/TerminalFrame.qml index 4fd07a8..7ff4c73 100644 --- a/app/qml/TerminalFrame.qml +++ b/app/qml/TerminalFrame.qml @@ -26,23 +26,24 @@ ShaderEffect { property color _backgroundColor: appSettings.backgroundColor property color _fontColor: appSettings.fontColor property color _lightColor: Utils.mix(_fontColor, _backgroundColor, 0.2) - property real _ambientLight: appSettings.ambientLight - property color frameColor: Utils.sum( - Utils.scaleColor(_staticFrameColor, 0.8 * _ambientLight), - Utils.scaleColor(_lightColor, 0.2) + property color frameColor: Utils.mix( + Utils.scaleColor(_lightColor, 0.2), + _staticFrameColor, + 0.125 + 0.750 * ambientLight ) property real screenCurvature: appSettings.screenCurvature * appSettings.screenCurvatureSize - // TODO FILIPPO... Get rid of those... - // Coefficient of the log curve used to approximate shadowing - property real frameShadowCoeff: 0.0125//Utils.lint(0.05, 0.025, _ambientLight) property real frameShininess: appSettings.frameShininess property real frameSize: appSettings.frameSize - property real qt_Opacity: 1.0 + property real screenRadius: appSettings.screenRadius + + property size viewportSize: Qt.size(width, height) + + property real ambientLight: appSettings.ambientLight vertexShader: "qrc:/shaders/terminal_frame.vert.qsb" fragmentShader: "qrc:/shaders/terminal_frame.frag.qsb" diff --git a/app/shaders/terminal_dynamic.frag b/app/shaders/terminal_dynamic.frag index 2c360f9..1769fdc 100644 --- a/app/shaders/terminal_dynamic.frag +++ b/app/shaders/terminal_dynamic.frag @@ -36,7 +36,6 @@ layout(std140, binding = 0) uniform ubuf { float glowingLine; float chromaColor; vec2 jitterDisplacement; - float ambientLight; float jitter; float horizontalSync; float horizontalSyncStrength; @@ -151,6 +150,11 @@ void main() { color += noiseTexel.a * staticNoise * (1.0 - distance * 1.3); color += randomPass(coords * virtualResolution) * glowingLine; +#if CRT_DISPLAY_FRAME == 1 + vec4 frameColor = texture(frameSource, qt_TexCoord0); + color *= (1.0 - frameColor.a); +#endif + vec3 txt_color = texture(screenBuffer, txt_coords).rgb; float bloomScale = 1.0 + max(bloom, 0.0); txt_color *= bloomScale; @@ -169,12 +173,8 @@ void main() { float brightness = mix(1.0, vBrightness, step(0.0, flickering)); finalColor *= brightness; - finalColor += vec3(ambientLight) * (1.0 - distance) * (1.0 - distance); - #if CRT_DISPLAY_FRAME == 1 - vec4 frameColor = texture(frameSource, qt_TexCoord0); - vec3 reflection = max(finalColor - backgroundColor.rgb, vec3(0.0)) * frameShininess; - finalColor = mix(finalColor, frameColor.rgb + reflection, frameColor.a); + finalColor = mix(finalColor, frameColor.rgb, frameColor.a); #endif fragColor = vec4(finalColor, qt_Opacity); diff --git a/app/shaders/terminal_dynamic.vert b/app/shaders/terminal_dynamic.vert index 878768f..cc1e039 100644 --- a/app/shaders/terminal_dynamic.vert +++ b/app/shaders/terminal_dynamic.vert @@ -19,7 +19,6 @@ layout(std140, binding = 0) uniform ubuf { float glowingLine; float chromaColor; vec2 jitterDisplacement; - float ambientLight; float jitter; float horizontalSync; float horizontalSyncStrength; diff --git a/app/shaders/terminal_dynamic.vert.qsb b/app/shaders/terminal_dynamic.vert.qsb index 09a0877..11559ab 100644 Binary files a/app/shaders/terminal_dynamic.vert.qsb and b/app/shaders/terminal_dynamic.vert.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma0.frag.qsb index 19e58e0..2ac1e5a 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma1.frag.qsb index 2901ca1..fcd6acd 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn0_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma0.frag.qsb index 6006b5a..f52b510 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma1.frag.qsb index 4eb2d5f..0bfc118 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn0_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma0.frag.qsb index db71b3b..a44b375 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma1.frag.qsb index aca753a..9a84887 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn1_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma0.frag.qsb index aaa2495..fe3d2f1 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma1.frag.qsb index 4bd5b5d..615ba6c 100644 Binary files a/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster0_burn1_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma0.frag.qsb index 93c63be..8d29e92 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma1.frag.qsb index 464126e..ce5f7aa 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn0_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma0.frag.qsb index 2d68451..e2dbdf1 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma1.frag.qsb index ce55f4f..51602e2 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn0_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma0.frag.qsb index bfc7c46..48b21d2 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma1.frag.qsb index 8320c54..3cc8629 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn1_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma0.frag.qsb index 026901b..2532b7e 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma1.frag.qsb index 456996f..fe8fd09 100644 Binary files a/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster1_burn1_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma0.frag.qsb index 725d4a3..56e5eaa 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma1.frag.qsb index 10e6d97..8594e46 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn0_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma0.frag.qsb index 1dea8ba..67674e0 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma1.frag.qsb index 4050a58..b576255 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn0_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma0.frag.qsb index f65c15e..58a2a86 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma1.frag.qsb index f60ec97..329d1b6 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn1_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma0.frag.qsb index a5dbf7f..f35440f 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma1.frag.qsb index c4a2fd7..e0b8c1e 100644 Binary files a/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster2_burn1_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma0.frag.qsb index 087904c..a369f6c 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma1.frag.qsb index 4a46705..a1126a4 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn0_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma0.frag.qsb index 9ac5438..7e545b7 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma1.frag.qsb index e850141..28298bb 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn0_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma0.frag.qsb index 2c194d3..bc9aace 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma1.frag.qsb index b76d14f..c3d2b63 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn1_frame0_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma0.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma0.frag.qsb index 0bc6090..586287e 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma0.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma0.frag.qsb differ diff --git a/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma1.frag.qsb b/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma1.frag.qsb index f6608f5..e0f8db4 100644 Binary files a/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma1.frag.qsb and b/app/shaders/terminal_dynamic_raster3_burn1_frame1_chroma1.frag.qsb differ diff --git a/app/shaders/terminal_frame.frag b/app/shaders/terminal_frame.frag index 3fd31cc..d14af75 100644 --- a/app/shaders/terminal_frame.frag +++ b/app/shaders/terminal_frame.frag @@ -9,13 +9,13 @@ layout(std140, binding = 0) uniform ubuf { float screenCurvature; vec4 frameColor; float frameSize; + float screenRadius; + vec2 viewportSize; + float ambientLight; }; float min2(vec2 v) { return min(v.x, v.y); } -float max2(vec2 v) { return max(v.x, v.y); } float prod2(vec2 v) { return v.x * v.y; } -float sum2(vec2 v) { return v.x + v.y; } -float hash(vec2 v) { return fract(sin(dot(v, vec2(12.9898, 78.233))) * 43758.5453); } vec2 distortCoordinates(vec2 coords){ vec2 paddedCoords = coords * (vec2(1.0) + frameSize * 2.0) - frameSize; @@ -24,14 +24,25 @@ vec2 distortCoordinates(vec2 coords){ return (paddedCoords + cc * (1.0 + dist) * dist); } +float roundedRectSdfPixels(vec2 p, vec2 topLeft, vec2 bottomRight, float radiusPixels) { + vec2 sizePixels = (bottomRight - topLeft) * viewportSize; + vec2 centerPixels = (topLeft + bottomRight) * 0.5 * viewportSize; + vec2 localPixels = p * viewportSize - centerPixels; + vec2 halfSize = sizePixels * 0.5 - vec2(radiusPixels); + vec2 d = abs(localPixels) - halfSize; + return length(max(d, vec2(0.0))) + min(max(d.x, d.y), 0.0) - radiusPixels; +} + void main() { vec2 staticCoords = qt_TexCoord0; vec2 coords = distortCoordinates(staticCoords); float depth = 1.0 - 5.0 * min(min2(staticCoords), min2(vec2(1.0) - staticCoords)); - float occlusionWidth = 0.025; - float seamWidth = occlusionWidth; + float screenRadiusPixels = screenRadius; + float edgeSoftPixels = 1.0; + + float seamWidth = max(screenRadiusPixels, 0.5) / min2(viewportSize); float e = min( smoothstep(-seamWidth, seamWidth, coords.x - coords.y), @@ -50,14 +61,14 @@ void main() { smoothstep(-seamWidth, seamWidth, (1.0 - coords.x) - coords.y) ); - vec2 clampedCoords = clamp(coords, vec2(0.0), vec2(1.0)); - float innerEdgeDist = length(coords - clampedCoords); - float occlusion = smoothstep(0.0, occlusionWidth, innerEdgeDist); + float distPixels = roundedRectSdfPixels(coords, vec2(0.0), vec2(1.0), screenRadiusPixels); + float frameShadow = (e * 0.66 + w * 0.66 + n * 0.33 + s) * depth; + frameShadow *= smoothstep(0.0, edgeSoftPixels * 10.0, distPixels); - float frameShadow = e * 0.75 + w * 0.75 + n * 0.50 + s * 1.00; - frameShadow *= sqrt(occlusion) * depth; + float inScreen = smoothstep(0.0, edgeSoftPixels, -distPixels); + float alpha = mix(mix(0.7, 0.9, ambientLight), mix(0.0, 0.2, ambientLight), inScreen); + float glass = clamp(ambientLight * pow(prod2(coords * (1.0 - coords.yx)) * 50.0, 0.25) * inScreen, 0.0, 1.0); + vec3 color = mix(frameColor.rgb * frameShadow, vec3(glass), inScreen); - vec3 color = frameColor.rgb * frameShadow; - float alpha = clamp(sum2(1.0 - step(vec2(0.0), coords) + step(vec2(1.0), coords)), 0.0, 1.0); - fragColor = vec4(color * alpha, alpha) * qt_Opacity; + fragColor = vec4(color, alpha) * qt_Opacity; } diff --git a/app/shaders/terminal_frame.frag.qsb b/app/shaders/terminal_frame.frag.qsb index efb12dd..dfe0b60 100644 Binary files a/app/shaders/terminal_frame.frag.qsb and b/app/shaders/terminal_frame.frag.qsb differ diff --git a/app/shaders/terminal_frame.vert b/app/shaders/terminal_frame.vert index dddd9f7..5011043 100644 --- a/app/shaders/terminal_frame.vert +++ b/app/shaders/terminal_frame.vert @@ -9,6 +9,9 @@ layout(std140, binding = 0) uniform ubuf { float screenCurvature; vec4 frameColor; float frameSize; + float screenRadius; + vec2 viewportSize; + float ambientLight; }; layout(location = 0) out vec2 qt_TexCoord0; diff --git a/app/shaders/terminal_frame.vert.qsb b/app/shaders/terminal_frame.vert.qsb index 8c9f54c..512aca0 100644 Binary files a/app/shaders/terminal_frame.vert.qsb and b/app/shaders/terminal_frame.vert.qsb differ