aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/quick/embeddedinwidgets/CMakeLists.txt10
-rw-r--r--examples/quick/embeddedinwidgets/embeddedinwidgets.qrc1
-rw-r--r--examples/quick/embeddedinwidgets/main.qml16
-rw-r--r--examples/quick/embeddedinwidgets/reflect.frag22
-rw-r--r--examples/quick/embeddedinwidgets/reflect.frag.qsbbin0 -> 1976 bytes
-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
10 files changed, 67 insertions, 26 deletions
diff --git a/examples/quick/embeddedinwidgets/CMakeLists.txt b/examples/quick/embeddedinwidgets/CMakeLists.txt
index 067f427d20..a7afac6184 100644
--- a/examples/quick/embeddedinwidgets/CMakeLists.txt
+++ b/examples/quick/embeddedinwidgets/CMakeLists.txt
@@ -19,6 +19,7 @@ find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS ShaderTools)
qt_add_executable(embeddedinwidgets
main.cpp
@@ -48,6 +49,15 @@ qt6_add_resources(embeddedinwidgets "embeddedinwidgets"
${embeddedinwidgets_resource_files}
)
+qt6_add_shaders(embeddedinwidgets "shaders"
+ PRECOMPILE
+ OPTIMIZED
+ PREFIX
+ "/embeddedinwidgets"
+ FILES
+ "reflect.frag"
+)
+
install(TARGETS embeddedinwidgets
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/quick/embeddedinwidgets/embeddedinwidgets.qrc b/examples/quick/embeddedinwidgets/embeddedinwidgets.qrc
index 62e0ed2161..0154393a8d 100644
--- a/examples/quick/embeddedinwidgets/embeddedinwidgets.qrc
+++ b/examples/quick/embeddedinwidgets/embeddedinwidgets.qrc
@@ -2,5 +2,6 @@
<qresource prefix="/embeddedinwidgets">
<file>main.qml</file>
<file>TextBox.qml</file>
+ <file>reflect.frag.qsb</file>
</qresource>
</RCC>
diff --git a/examples/quick/embeddedinwidgets/main.qml b/examples/quick/embeddedinwidgets/main.qml
index e644a76587..7ce3bb8355 100644
--- a/examples/quick/embeddedinwidgets/main.qml
+++ b/examples/quick/embeddedinwidgets/main.qml
@@ -103,20 +103,6 @@ Rectangle {
property variant source: column;
property size sourceSize: Qt.size(0.5 / column.width, 0.5 / column.height);
- fragmentShader: `
- varying highp vec2 qt_TexCoord0;
- uniform lowp sampler2D source;
- uniform lowp vec2 sourceSize;
- uniform lowp float qt_Opacity;
- void main() {
-
- lowp vec2 tc = qt_TexCoord0 * vec2(1, -1) + vec2(0, 1);
- lowp vec4 col = 0.25 * (texture2D(source, tc + sourceSize)
- + texture2D(source, tc- sourceSize)
- + texture2D(source, tc + sourceSize * vec2(1, -1))
- + texture2D(source, tc + sourceSize * vec2(-1, 1))
- );
- gl_FragColor = col * qt_Opacity * (1.0 - qt_TexCoord0.y) * 0.2;
- }`
+ fragmentShader: "reflect.frag.qsb"
}
}
diff --git a/examples/quick/embeddedinwidgets/reflect.frag b/examples/quick/embeddedinwidgets/reflect.frag
new file mode 100644
index 0000000000..04a81f86e5
--- /dev/null
+++ b/examples/quick/embeddedinwidgets/reflect.frag
@@ -0,0 +1,22 @@
+#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;
+ vec2 sourceSize;
+};
+
+void main()
+{
+ vec2 tc = qt_TexCoord0 * vec2(1, -1) + vec2(0, 1);
+ vec4 col = 0.25 * (texture(source, tc + sourceSize)
+ + texture(source, tc- sourceSize)
+ + texture(source, tc + sourceSize * vec2(1, -1))
+ + texture(source, tc + sourceSize * vec2(-1, 1)));
+ fragColor = col * qt_Opacity * (1.0 - qt_TexCoord0.y) * 0.2;
+}
diff --git a/examples/quick/embeddedinwidgets/reflect.frag.qsb b/examples/quick/embeddedinwidgets/reflect.frag.qsb
new file mode 100644
index 0000000000..a4d25dcbf5
--- /dev/null
+++ b/examples/quick/embeddedinwidgets/reflect.frag.qsb
Binary files differ
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