mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 21:03:17 +02:00
43 lines
No EOL
1 KiB
QML
43 lines
No EOL
1 KiB
QML
import QtQuick 2.0
|
|
|
|
Item {
|
|
property alias source: sourceImage.sourceItem
|
|
property alias maskSource: sourceMask.sourceItem
|
|
|
|
anchors.fill: parent
|
|
ShaderEffectSource {
|
|
id: sourceMask
|
|
smooth: true
|
|
hideSource: true
|
|
}
|
|
ShaderEffectSource {
|
|
id: sourceImage
|
|
hideSource: true
|
|
}
|
|
|
|
ShaderEffect {
|
|
id: maskEffect
|
|
anchors.fill: parent
|
|
|
|
property variant source: sourceImage
|
|
property variant mask: sourceMask
|
|
|
|
fragmentShader: {
|
|
"
|
|
varying highp vec2 qt_TexCoord0;
|
|
uniform lowp sampler2D source;
|
|
uniform lowp sampler2D mask;
|
|
void main() {
|
|
|
|
highp vec4 maskColor = texture2D(mask, vec2(qt_TexCoord0.x, qt_TexCoord0.y));
|
|
highp vec4 sourceColor = texture2D(source, vec2(qt_TexCoord0.x, qt_TexCoord0.y));
|
|
|
|
if (maskColor.a > 0.0)
|
|
gl_FragColor = sourceColor;
|
|
else
|
|
gl_FragColor = maskColor;
|
|
}
|
|
"
|
|
}
|
|
}
|
|
} |