aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/quickwidgets
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2021-08-23 13:47:23 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2021-08-24 13:51:52 +0200
commitc7093e553c46bbd65a053a335bd27bec8ee5aca2 (patch)
treead7e6d2f7f402c7fda6238b4ac1b5e5fa23d59a4 /examples/quick/quickwidgets
parentcc3e0a5684a336f83d7f94ba455870b0bfba5c3d (diff)
Port leftover effects in some of the examples
For qmake we have no choice but to ship the .qsb files, whereas with CMake we now rely on qt6_add_shaders. Pick-to: 6.2 Change-Id: I9bb64a3ffd01cda84fca5a0f7def270975bf71aa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'examples/quick/quickwidgets')
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/CMakeLists.txt11
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/qquickviewcomparison.qrc1
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/test.qml12
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/wobble.frag20
-rw-r--r--examples/quick/quickwidgets/qquickviewcomparison/wobble.frag.qsbbin0 -> 1717 bytes
5 files changed, 33 insertions, 11 deletions
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/CMakeLists.txt b/examples/quick/quickwidgets/qquickviewcomparison/CMakeLists.txt
index e0354cf56c..428f7b53a3 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/CMakeLists.txt
+++ b/examples/quick/quickwidgets/qquickviewcomparison/CMakeLists.txt
@@ -20,6 +20,7 @@ find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Quick)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS QuickWidgets)
+find_package(Qt6 COMPONENTS ShaderTools)
qt_add_executable(qquickviewcomparison
fbitem.cpp fbitem.h
@@ -46,6 +47,16 @@ qt_add_qml_module(qquickviewcomparison
RESOURCE_PREFIX /qquickviewcomparison
NO_RESOURCE_TARGET_PATH
)
+
+qt6_add_shaders(qquickviewcomparison "shaders"
+ PRECOMPILE
+ OPTIMIZED
+ PREFIX
+ "/qquickviewcomparison"
+ FILES
+ "wobble.frag"
+)
+
install(TARGETS qquickviewcomparison
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/qquickviewcomparison.qrc b/examples/quick/quickwidgets/qquickviewcomparison/qquickviewcomparison.qrc
index 2b259fdeec..e545c993c0 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/qquickviewcomparison.qrc
+++ b/examples/quick/quickwidgets/qquickviewcomparison/qquickviewcomparison.qrc
@@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/qquickviewcomparison">
<file>test.qml</file>
+ <file>wobble.frag.qsb</file>
</qresource>
</RCC>
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/test.qml b/examples/quick/quickwidgets/qquickviewcomparison/test.qml
index e142add084..8224320509 100644
--- a/examples/quick/quickwidgets/qquickviewcomparison/test.qml
+++ b/examples/quick/quickwidgets/qquickviewcomparison/test.qml
@@ -213,16 +213,6 @@ Rectangle {
property real frequency: 10
property real time: 0
NumberAnimation on time { loops: Animation.Infinite; from: 0; to: Math.PI * 2; duration: 1000 }
- fragmentShader:
- "uniform lowp float qt_Opacity;" +
- "uniform highp float amplitude;" +
- "uniform highp float frequency;" +
- "uniform highp float time;" +
- "uniform sampler2D source;" +
- "varying highp vec2 qt_TexCoord0;" +
- "void main() {" +
- " highp vec2 p = sin(time + frequency * qt_TexCoord0);" +
- " gl_FragColor = texture2D(source, qt_TexCoord0 + amplitude * vec2(p.y, -p.x)) * qt_Opacity;" +
- "}"
+ fragmentShader: "wobble.frag.qsb"
}
}
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag b/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag
new file mode 100644
index 0000000000..9fddf1a162
--- /dev/null
+++ b/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag
@@ -0,0 +1,20 @@
+#version 440
+
+layout(location = 0) in vec2 qt_TexCoord0;
+layout(location = 0) out vec4 fragColor;
+
+layout(binding = 1) uniform sampler2D source;
+
+layout(std140, binding = 0) uniform buf {
+ mat4 qt_Matrix;
+ float qt_Opacity;
+ float amplitude;
+ float frequency;
+ float time;
+};
+
+void main()
+{
+ vec2 p = sin(time + frequency * qt_TexCoord0);
+ fragColor = texture(source, qt_TexCoord0 + amplitude * vec2(p.y, -p.x)) * qt_Opacity;
+}
diff --git a/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag.qsb b/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag.qsb
new file mode 100644
index 0000000000..ab764e8326
--- /dev/null
+++ b/examples/quick/quickwidgets/qquickviewcomparison/wobble.frag.qsb
Binary files differ