aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/quickwidgets
diff options
context:
space:
mode:
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