Warning, /webapps/qmlonline/qml/examples/shadereffect.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.7
0002 import QtQuick.Controls 2.3
0003
0004 Rectangle {
0005 color: "red"
0006 anchors.fill: parent
0007
0008 ShaderEffect {
0009 Image {
0010 id: profilePic
0011 source: "https://farm8.staticflickr.com/7861/46451042134_cb4cefce18_b.jpg"
0012 visible: false
0013 }
0014
0015 property variant src: profilePic
0016 width: 400
0017 height: width
0018 anchors.centerIn: parent
0019
0020 vertexShader: "
0021 uniform highp mat4 qt_Matrix;
0022 attribute highp vec4 qt_Vertex;
0023 attribute highp vec2 qt_MultiTexCoord0;
0024 varying highp vec2 coord;
0025 void main() {
0026 coord = qt_MultiTexCoord0;
0027 gl_Position = qt_Matrix * qt_Vertex;
0028 }
0029 "
0030 fragmentShader: "
0031 #ifdef GL_ES
0032 precision mediump float;
0033 #endif
0034
0035 varying highp vec2 coord;
0036 uniform sampler2D src;
0037 uniform lowp float qt_Opacity;
0038 void main() {
0039 float d = distance(coord, vec2(0.5, 0.5));
0040 if(d > 0.5) {
0041 gl_FragColor = vec4(0, 0, 0, 0) * qt_Opacity;
0042 return;
0043 }
0044 lowp vec4 tex = texture2D(src, coord);
0045 gl_FragColor = vec4(tex.rgb, tex.a) * qt_Opacity;
0046 }
0047 "
0048 }
0049 }