diff options
author | Topi Reinio <topi.reinio@digia.com> | 2014-01-24 13:22:02 +0100 |
---|---|---|
committer | Topi Reiniƶ <topi.reinio@digia.com> | 2014-01-27 11:29:55 +0200 |
commit | ca01d5f9f5e960337a044be6e00de58fd4fbdb05 (patch) | |
tree | 3f2e25c5f05d5e5ba9bc44f2e5a09b86741c3fb5 /basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml | |
parent | 5a362f80d9da6d2d36efc127588f3c427211f98c (diff) |
Make basicsuite demos run stand-alone
This change will make the demos run standalone when built in
Qt Creator.
- Rename example directories to lowercase/non-whitespace
to avoid build & deployment problems
- Add title.txt files so titles remain displayed correctly
in the launcher
- Add a common shared source files used for the standalone
apps, and .pro-files for each example
- Remove .qmlproject files (not needed)
- Adjust documentation to match the new directory structure
Change-Id: Ib24e461952da3b2c88aab0363249115ea44ee0f2
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml')
-rw-r--r-- | basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml b/basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml new file mode 100644 index 0000000..961b348 --- /dev/null +++ b/basicsuite/qt5-cinematicdemo/content/CurtainEffect.qml @@ -0,0 +1,53 @@ +import QtQuick 2.0 + +ShaderEffect { + id: root + + property variant source + property real leftHeight: height / 2 + property real rightHeight: height / 2 + property real originalHeight: height + property real originalWidth: width + property real amplitude: 0.10 + + mesh: Qt.size(1, 80) + + vertexShader: " + attribute highp vec4 qt_Vertex; + attribute highp vec2 qt_MultiTexCoord0; + uniform highp mat4 qt_Matrix; + varying highp vec2 qt_TexCoord0; + varying lowp float shade; + uniform highp float leftHeight; + uniform highp float rightHeight; + uniform highp float originalHeight; + uniform highp float originalWidth; + uniform highp float amplitude; + + void main() { + qt_TexCoord0 = qt_MultiTexCoord0; + + highp vec4 shift = vec4(0); + shift.y = qt_Vertex.y * ((originalHeight - leftHeight) + (leftHeight - rightHeight) * (qt_Vertex.x / originalWidth)) / originalHeight; + + shade = sin(21.9911486 * qt_Vertex.y / originalHeight); + shift.x = amplitude * (originalHeight - leftHeight + (leftHeight - rightHeight) * (qt_Vertex.x / originalWidth)) * shade; + + gl_Position = qt_Matrix * (qt_Vertex - shift); + + shade = 0.2 * (2.0 - shade ) * (1.0 - (rightHeight + (leftHeight - rightHeight) * (1.0 - qt_Vertex.y / originalWidth)) / originalHeight); + } + " + + fragmentShader: " + varying highp vec2 qt_TexCoord0; + uniform lowp float qt_Opacity; + uniform sampler2D source; + varying lowp float shade; + void main() { + highp vec4 color = texture2D(source, qt_TexCoord0); + color.rgb *= 1.0 - shade; + gl_FragColor = color * qt_Opacity; + } + " +} |