diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml index 4242adf..f9c9f4d 100644 --- a/app/qml/ApplicationSettings.qml +++ b/app/qml/ApplicationSettings.qml @@ -27,10 +27,9 @@ QtObject{ readonly property string version: "1.1.0" readonly property int profileVersion: 2 - // STATIC CONSTANTS //////////////////////////////////////////////////////// - readonly property real screenCurvatureSize: 0.2 + readonly property real screenCurvatureSize: 0.4 readonly property real minimumFontScaling: 0.25 readonly property real maximumFontScaling: 2.50 @@ -176,52 +175,6 @@ QtObject{ terminalFontChanged(fontFamily, pixelSize, lineSpacing, screenScaling, fontWidth); } - // FRAMES ///////////////////////////////////////////////////////////////// - - property ListModel framesList: ListModel{ - ListElement{ - name: "NO_FRAME" - text: "No frame" - source: "" - reflections: false - } - ListElement{ - name: "SIMPLE_WHITE_FRAME" - text: "Simple white frame" - source: "./frames/WhiteSimpleFrame.qml" - reflections: true - } - ListElement{ - name: "ROUGH_BLACK_FRAME" - text: "Rough black frame" - source: "./frames/BlackRoughFrame.qml" - reflections: true - } - } - - function getFrameIndexByName(name) { - for (var i = 0; i < framesList.count; i++) { - if (name === framesList.get(i).name) - return i; - } - return 0; // If the frame is not available default to 0. - } - - property string frameSource: "./frames/WhiteSimpleFrame.qml" - property string frameName: "SIMPLE_WHITE_FRAME" - - property bool _frameReflections: false - property bool reflectionsAllowed: true - property bool frameReflections: _frameReflections && reflectionsAllowed - - onFrameNameChanged: { - var index = getFrameIndexByName(frameName); - frameSource = framesList.get(index).source; - reflectionsAllowed = framesList.get(index).reflections; - } - - // DB STORAGE ///////////////////////////////////////////////////////////// - property Storage storage: Storage{ } function stringify(obj) { @@ -242,7 +195,6 @@ QtObject{ showTerminalSize: showTerminalSize, fontScaling: fontScaling, fontNames: fontNames, - frameReflections: _frameReflections, showMenubar: showMenubar, bloomQuality: bloomQuality, burnInQuality: burnInQuality, @@ -263,7 +215,6 @@ QtObject{ saturationColor: saturationColor, screenCurvature: screenCurvature, glowingLine: glowingLine, - frameName: frameName, burnIn: burnIn, bloom: bloom, rasterization: rasterization, @@ -326,8 +277,6 @@ QtObject{ fontNames = settings.fontNames !== undefined ? settings.fontNames : fontNames fontScaling = settings.fontScaling !== undefined ? settings.fontScaling : fontScaling - _frameReflections = settings.frameReflections !== undefined ? settings.frameReflections : _frameReflections; - showMenubar = settings.showMenubar !== undefined ? settings.showMenubar : showMenubar; bloomQuality = settings.bloomQuality !== undefined ? settings.bloomQuality : bloomQuality; @@ -354,8 +303,6 @@ QtObject{ burnIn = settings.burnIn !== undefined ? settings.burnIn : burnIn bloom = settings.bloom !== undefined ? settings.bloom : bloom - frameName = settings.frameName !== undefined ? settings.frameName : frameName; - rasterization = settings.rasterization !== undefined ? settings.rasterization : rasterization; jitter = settings.jitter !== undefined ? settings.jitter : jitter; @@ -431,7 +378,6 @@ QtObject{ "fontColor": "#ff8100", "fontName": "TERMINUS_SCALED", "fontWidth": 1, - "frameName": "SIMPLE_WHITE_FRAME", "glowingLine": 0.2, "horizontalSync": 0.08, "jitter": 0.1997, @@ -459,7 +405,6 @@ QtObject{ "fontColor": "#0ccc68", "fontName": "TERMINUS_SCALED", "fontWidth": 1, - "frameName": "SIMPLE_WHITE_FRAME", "glowingLine": 0.2, "horizontalSync": 0.08, "jitter": 0.1997, @@ -487,7 +432,6 @@ QtObject{ "fontColor": "#7cff4f", "fontName": "PRO_FONT_SCALED", "fontWidth": 1, - "frameName": "NO_FRAME", "glowingLine": 0.2, "horizontalSync": 0.151, "jitter": 0.11, @@ -515,7 +459,6 @@ QtObject{ "fontColor": "#ffffff", "fontName": "COMMODORE_PET", "fontWidth": 1, - "frameName": "NO_FRAME", "glowingLine": 0.2, "horizontalSync": 0.151, "jitter": 0, @@ -543,7 +486,6 @@ QtObject{ "fontColor": "#00d56d", "fontName": "APPLE_II", "fontWidth": 1, - "frameName": "SIMPLE_WHITE_FRAME", "glowingLine": 0.22, "horizontalSync": 0.16, "jitter": 0.1, @@ -571,7 +513,6 @@ QtObject{ "fontColor": "#00ff3e", "fontName": "COMMODORE_PET", "fontWidth": 1, - "frameName": "ROUGH_BLACK_FRAME", "glowingLine": 0.3, "horizontalSync": 0.42, "jitter": 0.4, @@ -599,7 +540,6 @@ QtObject{ "fontColor": "#ffffff", "fontName": "IBM_DOS", "fontWidth": 1, - "frameName": "SIMPLE_WHITE_FRAME", "glowingLine": 0.1545, "horizontalSync": 0, "jitter": 0.1545, @@ -627,7 +567,6 @@ QtObject{ "fontColor": "#0ccc68", "fontName": "IBM_3278", "fontWidth": 1, - "frameName": "SIMPLE_WHITE_FRAME", "glowingLine": 0, "horizontalSync": 0, "jitter": 0, @@ -655,7 +594,6 @@ QtObject{ "fontColor": "#729fcf", "fontName": "TERMINUS", "fontWidth": 1, - "frameName": "NO_FRAME", "glowingLine": 0.1476, "horizontalSync": 0, "jitter": 0.099, diff --git a/app/qml/NewTerminalFrame.qml b/app/qml/NewTerminalFrame.qml new file mode 100644 index 0000000..81f1255 --- /dev/null +++ b/app/qml/NewTerminalFrame.qml @@ -0,0 +1,62 @@ +import QtQuick 2.0 + +import "utils.js" as Utils + +ShaderEffect { + + property real screenCurvature: appSettings.screenCurvature * appSettings.screenCurvatureSize + property real ambientLight: Utils.lint(0.1, 0.9, appSettings.ambientLight) + property color frameColor: "#dedede" + property color fontColor: appSettings.fontColor + property color backgroundColor: appSettings.backgroundColor + property color reflectionColor: Utils.mix(fontColor, backgroundColor, 0.2) + + visible: screenCurvature != 0 + + fragmentShader: " + #ifdef GL_ES + precision mediump float; + #endif + + uniform lowp float screenCurvature; + uniform lowp float ambientLight; + uniform highp float qt_Opacity; + uniform lowp vec4 frameColor; + uniform lowp vec4 reflectionColor; + + varying highp vec2 qt_TexCoord0; + + vec2 distortCoordinates(vec2 coords){ + vec2 cc = (coords - vec2(0.5)); + float dist = dot(cc, cc) * screenCurvature; + return (coords + cc * (1.0 + dist) * dist); + } + + float max2(vec2 v) { + return max(v.x, v.y); + } + + float sum2(vec2 v) { + return v.x + v.y; + } + + void main(){ + vec2 staticCoords = qt_TexCoord0; + vec2 coords = distortCoordinates(staticCoords); + + vec3 color = mix(reflectionColor.rgb, frameColor.rgb, ambientLight); + float dist = 0.5 * screenCurvature; + + float shadowMask = 0.00 + max2(1.0 - smoothstep(vec2(-dist), vec2(0.0), coords) + smoothstep(vec2(1.0), vec2(1.0 + dist), coords)); + shadowMask = clamp(0.0, 1.0, shadowMask); + color *= pow(shadowMask, 0.5); + + float alpha = sum2(1.0 - step(0.0, coords) + step(1.0, coords)); + alpha = clamp(alpha, 0.0, 1.0) * mix(1.0, 0.9, pow(shadowMask, 0.5)); + + gl_FragColor = vec4(color * alpha, alpha); + } + " + + onStatusChanged: if (log) console.log(log) //Print warning messages +} diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml index 2627f8a..e5d9e93 100644 --- a/app/qml/PreprocessedTerminal.qml +++ b/app/qml/PreprocessedTerminal.qml @@ -39,11 +39,6 @@ Item{ property alias title: ksession.title property alias kterminal: kterminal - anchors.leftMargin: frame.displacementLeft * appSettings.windowScaling - anchors.rightMargin: frame.displacementRight * appSettings.windowScaling - anchors.topMargin: frame.displacementTop * appSettings.windowScaling - anchors.bottomMargin: frame.displacementBottom * appSettings.windowScaling - property size terminalSize: kterminal.terminalSize property size fontMetrics: kterminal.fontMetrics @@ -219,7 +214,7 @@ Item{ id: kterminalSource sourceItem: kterminal hideSource: true - wrapMode: ShaderEffectSource.ClampToEdge + wrapMode: ShaderEffectSource.Repeat visible: false textureSize: Qt.size(kterminal.width * scaleTexture, kterminal.height * scaleTexture); } diff --git a/app/qml/ShaderTerminal.qml b/app/qml/ShaderTerminal.qml index 5ef72b8..08a9329 100644 --- a/app/qml/ShaderTerminal.qml +++ b/app/qml/ShaderTerminal.qml @@ -56,17 +56,10 @@ ShaderEffect { property int rasterization: appSettings.rasterization - property bool frameReflections: appSettings.frameReflections - - property real disp_top: (frame.displacementTop * appSettings.windowScaling) / height - property real disp_bottom: (frame.displacementBottom * appSettings.windowScaling) / height - property real disp_left: (frame.displacementLeft * appSettings.windowScaling) / width - property real disp_right: (frame.displacementRight * appSettings.windowScaling) / width - property real screen_brightness: Utils.lint(0.5, 1.5, appSettings.brightness) - property real dispX - property real dispY + property real ambientLight: appSettings.ambientLight * 0.2 + property size virtual_resolution property real time: timeManager.time @@ -103,11 +96,6 @@ ShaderEffect { uniform highp mat4 qt_Matrix; uniform highp float time; - uniform highp float disp_left; - uniform highp float disp_right; - uniform highp float disp_top; - uniform highp float disp_bottom; - attribute highp vec4 qt_Vertex; attribute highp vec2 qt_MultiTexCoord0; @@ -130,8 +118,7 @@ ShaderEffect { " void main() { - qt_TexCoord0.x = (qt_MultiTexCoord0.x - disp_left) / (1.0 - disp_left - disp_right); - qt_TexCoord0.y = (qt_MultiTexCoord0.y - disp_top) / (1.0 - disp_top - disp_bottom); + qt_TexCoord0 = qt_MultiTexCoord0; vec2 coords = vec2(fract(time/(1024.0*2.0)), fract(time/(1024.0*1024.0)));" + (!fallBack && (flickering !== 0.0 || horizontalSync !== 0.0 || rbgShift !== 0) ? @@ -168,9 +155,7 @@ ShaderEffect { uniform highp vec4 backgroundColor; uniform lowp float screen_brightness; - uniform highp vec2 virtual_resolution; - uniform highp float dispX; - uniform highp float dispY;" + + uniform highp vec2 virtual_resolution;" + (bloom !== 0 ? " uniform highp sampler2D bloomSource; @@ -195,6 +180,8 @@ ShaderEffect { uniform lowp vec2 jitterDisplacement;" : "") + (rbgShift !== 0 ? " uniform lowp float rbgShift;" : "") + + (ambientLight !== 0 ? " + uniform lowp float ambientLight;" : "") + (fallBack && horizontalSync !== 0 ? " uniform lowp float horizontalSync;" : "") + @@ -266,7 +253,8 @@ ShaderEffect { (screenCurvature !== 0 ? " float distortion = dot(cc, cc) * screenCurvature; - vec2 staticCoords = (qt_TexCoord0 - cc * (1.0 + distortion) * distortion);" + vec2 curvatureCoords = (qt_TexCoord0 - cc * (1.0 + distortion) * distortion); + vec2 staticCoords = -curvatureCoords + vec2(2.0) * step(vec2(0.0), curvatureCoords) * curvatureCoords - vec2(2.0) * step(vec2(1.0), curvatureCoords) * curvatureCoords;" :" vec2 staticCoords = qt_TexCoord0;") + @@ -314,7 +302,6 @@ ShaderEffect { txt_color = max(txt_color, 0.5 * (txt_blur.rgb - vec3(blurDecay)));" : "") + - "txt_color *= min2(step(vec2(0.0), staticCoords) - step(vec2(1.0), staticCoords));" + "txt_color *= getScanlineIntensity(coords);" + "txt_color += vec3(color);" + @@ -337,12 +324,18 @@ ShaderEffect { "finalColor += clamp(bloomColor * bloom * bloomAlpha, 0.0, 0.5);" : "") + - "finalColor *= smoothstep(-dispX, 0.0, staticCoords.x) - smoothstep(1.0, 1.0 + dispX, staticCoords.x); - finalColor *= smoothstep(-dispY, 0.0, staticCoords.y) - smoothstep(1.0, 1.0 + dispY, staticCoords.y);" + + (screenCurvature !== 0 ? " + vec2 curvatureMask = step(vec2(0.0), curvatureCoords) - step(vec2(1.0), curvatureCoords); + finalColor *= clamp(0.0, 1.0, curvatureMask.x + curvatureMask.y);" + :"") + (flickering !== 0 ? " finalColor *= brightness;" : "") + + (ambientLight !== 0 ? " + finalColor += vec3(ambientLight) * (1.0 - distance) * (1.0 - distance);" : "") + + + "gl_FragColor = vec4(finalColor * screen_brightness, qt_Opacity);" + "}" diff --git a/app/qml/TerminalContainer.qml b/app/qml/TerminalContainer.qml index ac400c9..430edf4 100644 --- a/app/qml/TerminalContainer.qml +++ b/app/qml/TerminalContainer.qml @@ -14,8 +14,6 @@ ShaderTerminal { source: terminal.mainSource burnInEffect: terminal.burnInEffect - dispX: (12 / width) * appSettings.windowScaling - dispY: (12 / height) * appSettings.windowScaling virtual_resolution: terminal.virtualResolution TimeManager{ @@ -23,22 +21,6 @@ ShaderTerminal { enableTimer: terminalWindow.visible } - Loader{ - id: frame - anchors.fill: parent - - property real displacementLeft: item ? item.displacementLeft : 0 - property real displacementTop: item ? item.displacementTop : 0 - property real displacementRight: item ? item.displacementRight : 0 - property real displacementBottom: item ? item.displacementBottom : 0 - - asynchronous: true - visible: status === Loader.Ready - - z: 2.1 - source: appSettings.frameSource - } - PreprocessedTerminal{ id: terminal anchors.fill: parent @@ -74,6 +56,12 @@ ShaderTerminal { bloomSource: bloomSourceLoader.item + NewTerminalFrame { + id: terminalFrame + anchors.fill: parent + blending: true + } + // This shader might be useful in the future. Since we used it only for a couple // of calculations is probably best to move those in the main shader. If in the future // we need to store another fullScreen channel this might be handy. diff --git a/app/qml/frames/BlackRoughFrame.qml b/app/qml/frames/BlackRoughFrame.qml deleted file mode 100644 index 1503049..0000000 --- a/app/qml/frames/BlackRoughFrame.qml +++ /dev/null @@ -1,24 +0,0 @@ -import QtQuick 2.2 -import "utils" - -TerminalFrame{ - id: frame - z: 2.1 - anchors.fill: parent - addedWidth: 200 - addedHeight: 370 - borderLeft: 170 - borderRight: 170 - borderTop: 250 - borderBottom: 250 - imageSource: "../images/black-frame.png" - normalsSource: "../images/black-frame-normals.png" - - displacementLeft: 80.0 - displacementTop: 65.0 - displacementRight: 80.0 - displacementBottom: 65.0 - - staticDiffuseComponent: 1.0 - dinamycDiffuseComponent: 0.6 -} diff --git a/app/qml/frames/WhiteSimpleFrame.qml b/app/qml/frames/WhiteSimpleFrame.qml deleted file mode 100644 index 84d85a2..0000000 --- a/app/qml/frames/WhiteSimpleFrame.qml +++ /dev/null @@ -1,24 +0,0 @@ -import QtQuick 2.2 -import "utils" - -TerminalFrame{ - id: frame - z: 2.1 - anchors.fill: parent - addedWidth: 140 - addedHeight: 140 - borderLeft: 116 - borderRight: 116 - borderTop: 116 - borderBottom: 116 - imageSource: "../images/screen-frame.png" - normalsSource: "../images/screen-frame-normals.png" - - displacementLeft: 55 - displacementTop: 50 - displacementRight: 55 - displacementBottom: 50 - - staticDiffuseComponent: 1.0 - dinamycDiffuseComponent: 0.6 -} diff --git a/app/qml/frames/images/black-frame-normals.png b/app/qml/frames/images/black-frame-normals.png deleted file mode 100644 index e315663..0000000 Binary files a/app/qml/frames/images/black-frame-normals.png and /dev/null differ diff --git a/app/qml/frames/images/black-frame-original.png b/app/qml/frames/images/black-frame-original.png deleted file mode 100644 index 04ef702..0000000 Binary files a/app/qml/frames/images/black-frame-original.png and /dev/null differ diff --git a/app/qml/frames/images/black-frame.png b/app/qml/frames/images/black-frame.png deleted file mode 100644 index c702d75..0000000 Binary files a/app/qml/frames/images/black-frame.png and /dev/null differ diff --git a/app/qml/frames/images/screen-frame-normals.png b/app/qml/frames/images/screen-frame-normals.png deleted file mode 100644 index 2cb719e..0000000 Binary files a/app/qml/frames/images/screen-frame-normals.png and /dev/null differ diff --git a/app/qml/frames/images/screen-frame-original.png b/app/qml/frames/images/screen-frame-original.png deleted file mode 100644 index 329b838..0000000 Binary files a/app/qml/frames/images/screen-frame-original.png and /dev/null differ diff --git a/app/qml/frames/images/screen-frame.png b/app/qml/frames/images/screen-frame.png deleted file mode 100644 index dc5aa75..0000000 Binary files a/app/qml/frames/images/screen-frame.png and /dev/null differ diff --git a/app/qml/frames/utils/TerminalFrame.qml b/app/qml/frames/utils/TerminalFrame.qml deleted file mode 100644 index 3afb0a2..0000000 --- a/app/qml/frames/utils/TerminalFrame.qml +++ /dev/null @@ -1,219 +0,0 @@ -import QtQuick 2.2 -import QtGraphicalEffects 1.0 - -import "../../utils.js" as Utils - -Item{ - id: framecontainer - property int textureWidth: terminalContainer.width / appSettings.windowScaling - property int textureHeight: terminalContainer.height / appSettings.windowScaling - - property int addedWidth - property int addedHeight - property int borderLeft - property int borderRight - property int borderTop - property int borderBottom - property string imageSource - property string normalsSource - property string shaderString - - //Values used to displace the texture in the screen. Used to make reflections correct. - property real displacementLeft - property real displacementTop - property real displacementRight - property real displacementBottom - - // Material coefficients - property real staticDiffuseComponent: 0.7 - property real dinamycDiffuseComponent: 1.0 - - BorderImage{ - id: frameimage - anchors.centerIn: parent - width: textureWidth + addedWidth - height: textureHeight + addedHeight - - border.bottom: borderBottom - border.top: borderTop - border.left: borderLeft - border.right: borderRight - - source: imageSource - horizontalTileMode: BorderImage.Stretch - verticalTileMode: BorderImage.Stretch - } - BorderImage{ - id: framenormals - anchors.fill: frameimage - - border.bottom: borderBottom - border.top: borderTop - border.left: borderLeft - border.right: borderRight - - source: normalsSource - horizontalTileMode: BorderImage.Stretch - verticalTileMode: BorderImage.Stretch - } - ShaderEffectSource{ - id: framesource - sourceItem: frameimage - hideSource: true - textureSize: Qt.size(parent.width, parent.height) - sourceRect: Qt.rect(-1, -1, frameimage.width + 2, frameimage.height + 2) - visible: false - } - ShaderEffectSource{ - id: framesourcenormals - sourceItem: framenormals - hideSource: true - textureSize: Qt.size(parent.width, parent.height) - sourceRect: Qt.rect(-1, -1, framenormals.width + 2, framenormals.height + 2) - visible: false - } - - // REFLECTIONS //////////////////////////////////////////////////////////// - Loader{ - id: reflectionEffectLoader - width: parent.width * 0.33 - height: parent.height * 0.33 - active: appSettings.frameReflections - - sourceComponent: FastBlur{ - id: frameReflectionEffect - radius: 128 - source: terminal.mainSource - smooth: false - } - } - - Loader{ - id: reflectionEffectSourceLoader - active: appSettings.frameReflections - sourceComponent: ShaderEffectSource{ - id: frameReflectionSource - sourceItem: reflectionEffectLoader.item - hideSource: true - smooth: true - visible: false - } - } - - // This texture represent the static light component. - ShaderEffect { - id: staticLight - property alias source: framesource - property alias normals: framesourcenormals - property real screenCurvature: appSettings.screenCurvature * appSettings.screenCurvatureSize - property size curvature_coefficients: Qt.size(width / mainShader.width, height / mainShader.height) - property real ambientLight: appSettings.ambientLight * 0.9 + 0.1 - property color fontColor: appSettings.fontColor - property color backgroundColor: appSettings.backgroundColor - property color reflectionColor: Utils.mix(fontColor, backgroundColor, 0.2) - property real diffuseComponent: staticDiffuseComponent - - anchors.centerIn: parent - width: parent.width + (addedWidth / textureWidth) * parent.width - height: parent.height + (addedHeight / textureHeight) * parent.height - - blending: true - - fragmentShader: " - #ifdef GL_ES - precision mediump float; - #endif - - uniform highp sampler2D normals; - uniform highp sampler2D source; - uniform lowp float screenCurvature; - uniform highp vec2 curvature_coefficients; - uniform lowp float ambientLight; - uniform highp float qt_Opacity; - uniform lowp vec4 reflectionColor; - uniform lowp float diffuseComponent; - - varying highp vec2 qt_TexCoord0; - - vec2 distortCoordinates(vec2 coords){ - vec2 cc = (coords - vec2(0.5)) * curvature_coefficients; - float dist = dot(cc, cc) * screenCurvature; - return (coords + cc * (1.0 + dist) * dist); - } - - float rgb2grey(vec3 v){ - return dot(v, vec3(0.21, 0.72, 0.04)); - } - - void main(){ - vec2 coords = distortCoordinates(qt_TexCoord0); - vec4 txtColor = texture2D(source, coords); - vec4 txtNormal = texture2D(normals, coords); - - vec3 normal = normalize(txtNormal.rgb * 2.0 - 1.0); - vec2 lightDirection = normalize(vec2(0.5, 0.5) - coords); - float dotProd = dot(normal, vec3(lightDirection, 0.0)) * diffuseComponent * txtNormal.a; - - vec3 darkColor = dotProd * reflectionColor.rgb; - gl_FragColor = vec4(mix(darkColor, txtColor.rgb, ambientLight), dotProd); - } - " - - onStatusChanged: if (log) console.log(log) //Print warning messages - } - - ShaderEffectSource { - id: staticLightSource - sourceItem: staticLight - hideSource: true - anchors.fill: staticLight - live: true - } - - Loader{ - id: dynamicLightLoader - anchors.fill: staticLight - active: appSettings.frameReflections - sourceComponent: ShaderEffect { - property ShaderEffectSource lightMask: staticLightSource - property ShaderEffectSource reflectionSource: reflectionEffectSourceLoader.item - property real diffuseComponent: dinamycDiffuseComponent - property real chromaColor: appSettings.chromaColor - property color fontColor: appSettings.fontColor - - visible: true - blending: true - - fragmentShader: " - #ifdef GL_ES - precision mediump float; - #endif - - uniform sampler2D lightMask; - uniform sampler2D reflectionSource; - uniform lowp float diffuseComponent; - uniform lowp float chromaColor; - uniform highp vec4 fontColor; - uniform highp float qt_Opacity; - - varying highp vec2 qt_TexCoord0; - - float rgb2grey(vec3 v){ - return dot(v, vec3(0.21, 0.72, 0.04)); - } - - void main() { - float alpha = texture2D(lightMask, qt_TexCoord0).a * diffuseComponent; - vec3 reflectionColor = texture2D(reflectionSource, qt_TexCoord0).rgb; - vec3 color = fontColor.rgb * rgb2grey(reflectionColor);" + - (chromaColor !== 0 ? - "color = mix(color, fontColor.rgb * reflectionColor, chromaColor);" - : "") + - "gl_FragColor = vec4(color, 1.0) * alpha; - } - " - - onStatusChanged: if (log) console.log(log) //Print warning messages - } - } -} diff --git a/app/qml/resources.qrc b/app/qml/resources.qrc index 0291ea2..b776365 100644 --- a/app/qml/resources.qrc +++ b/app/qml/resources.qrc @@ -1,14 +1,5 @@ - frames/BlackRoughFrame.qml - frames/images/black-frame.png - frames/images/screen-frame-normals.png - frames/images/black-frame-normals.png - frames/images/screen-frame.png - frames/images/black-frame-original.png - frames/images/screen-frame-original.png - frames/WhiteSimpleFrame.qml - frames/utils/TerminalFrame.qml SizeOverlay.qml ShaderTerminal.qml CheckableSlider.qml @@ -52,5 +43,6 @@ fonts/1977-commodore-pet/PetMe.ttf BurnInEffect.qml fonts/modern-terminus/TerminusTTF-4.46.0.ttf + NewTerminalFrame.qml