diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml
index da6b756..75f1925 100644
--- a/app/qml/PreprocessedTerminal.qml
+++ b/app/qml/PreprocessedTerminal.qml
@@ -46,6 +46,7 @@ Item{
property real _maxBlurCoefficient: 0.90
property size terminalSize: kterminal.terminalSize
+ property size fontMetrics: kterminal.fontMetrics
// Manage copy and paste
Connections{
diff --git a/app/qml/TerminalContainer.qml b/app/qml/TerminalContainer.qml
index f921589..af0f4a2 100644
--- a/app/qml/TerminalContainer.qml
+++ b/app/qml/TerminalContainer.qml
@@ -54,53 +54,18 @@ ShaderTerminal{
bloomSource: bloomSourceLoader.item
- ShaderEffect {
- id: staticNoiseEffect
- anchors.fill: parent
- property real element_size: appSettings.rasterization == appSettings.no_rasterization ? 2 : 1
- property alias __terminalHeight: terminal.virtualResolution.height
- property alias __terminalWidth: terminal.virtualResolution.width
- property size virtual_resolution: Qt.size(__terminalWidth / element_size, __terminalHeight / element_size)
-
- blending: false
-
- fragmentShader:
- "uniform lowp float qt_Opacity;
- varying highp vec2 qt_TexCoord0;
- uniform highp vec2 virtual_resolution;" +
-
- "highp float noise(vec2 co)
- {
- highp float a = 12.9898;
- highp float b = 78.233;
- highp float c = 43758.5453;
- highp float dt= dot(co.xy ,vec2(a,b));
- highp float sn= mod(dt,3.14);
- return fract(sin(sn) * c);
- }
-
- vec2 sw(vec2 p) {return vec2( floor(p.x) , floor(p.y) );}
- vec2 se(vec2 p) {return vec2( ceil(p.x) , floor(p.y) );}
- vec2 nw(vec2 p) {return vec2( floor(p.x) , ceil(p.y) );}
- vec2 ne(vec2 p) {return vec2( ceil(p.x) , ceil(p.y) );}
-
- float smoothNoise(vec2 p) {
- vec2 inter = smoothstep(0., 1., fract(p));
- float s = mix(noise(sw(p)), noise(se(p)), inter.x);
- float n = mix(noise(nw(p)), noise(ne(p)), inter.x);
- return mix(s, n, inter.y);
- }" +
-
- "void main() {" +
- "gl_FragColor.a = smoothNoise(qt_TexCoord0 * virtual_resolution);" +
- "}"
-
- onStatusChanged: if (log) console.log(log) //Print warning messages
+ Image {
+ id: staticNoiseImage
+ source: "images/noise512.png"
+ anchors.centerIn: parent
+ width: parent.width / (appSettings.window_scaling * appSettings.fontScaling)
+ height: parent.height / (appSettings.window_scaling * appSettings.fontScaling)
+ fillMode: Image.Tile
}
+
noiseSource: ShaderEffectSource{
id: staticNoiseSource
- sourceItem: staticNoiseEffect
- textureSize: Qt.size(mainShader.width, mainShader.height)
+ sourceItem: staticNoiseImage
wrapMode: ShaderEffectSource.Repeat
smooth: true
hideSource: true
@@ -113,7 +78,7 @@ ShaderTerminal{
height: parent.height
property real outColor: 0.0
property real dispX: (5 / width) * appSettings.window_scaling
- property real dispY: 5 / height * appSettings.window_scaling
+ property real dispY: (5 / height) * appSettings.window_scaling
property size virtual_resolution: terminal.virtualResolution
blending: false
diff --git a/app/qml/images/noise512.png b/app/qml/images/noise512.png
new file mode 100644
index 0000000..c05026d
Binary files /dev/null and b/app/qml/images/noise512.png differ
diff --git a/app/qml/resources.qrc b/app/qml/resources.qrc
index 2128d57..398fcf1 100644
--- a/app/qml/resources.qrc
+++ b/app/qml/resources.qrc
@@ -67,5 +67,6 @@
TerminalContainer.qml
images/crt256.png
utils.js
+ images/noise512.png