aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2021-03-03 09:49:19 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-03-10 13:23:40 +0000
commitd7f4a51d58d7ff9e8ac5c471476ca1608d48d055 (patch)
tree77eade4410951aea6ff5ffc65d9a98aab46c0e71
parentce9386db8f34b78b295d9f0d975df0a7822274f7 (diff)
Port shader code example in GridMesh docs
Change-Id: Ic3a11d24fdc02fa383350997083b38407d75feab Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit ef16f8876d70c9fab4780f5063dc463e38ba3056) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/quick/items/qquickshadereffectmesh.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/quick/items/qquickshadereffectmesh.cpp b/src/quick/items/qquickshadereffectmesh.cpp
index e16fee42fe..a24c4816d6 100644
--- a/src/quick/items/qquickshadereffectmesh.cpp
+++ b/src/quick/items/qquickshadereffectmesh.cpp
@@ -195,6 +195,10 @@ QSGGeometry *QQuickGridMesh::updateGeometry(QSGGeometry *geometry, int attrCount
resolution higher.
\table
+ \header
+ \li Result
+ \li QML code
+ \li gridmesh.vert
\row
\li \image declarative-gridmesh.png
\li \qml
@@ -210,21 +214,27 @@ QSGGeometry *QQuickGridMesh::updateGeometry(QSGGeometry *geometry, int attrCount
source: "qt-logo.png"
sourceSize { width: 200; height: 200 }
}
- vertexShader: "
- uniform highp mat4 qt_Matrix;
- attribute highp vec4 qt_Vertex;
- attribute highp vec2 qt_MultiTexCoord0;
- varying highp vec2 qt_TexCoord0;
- uniform highp float width;
- void main() {
- highp vec4 pos = qt_Vertex;
- highp float d = .5 * smoothstep(0., 1., qt_MultiTexCoord0.y);
- pos.x = width * mix(d, 1.0 - d, qt_MultiTexCoord0.x);
- gl_Position = qt_Matrix * pos;
- qt_TexCoord0 = qt_MultiTexCoord0;
- }"
+ vertexShader: "gridmesh.vert"
}
\endqml
+ \li \badcode
+ #version 440
+ layout(location = 0) in vec4 qt_Vertex;
+ layout(location = 1) in vec2 qt_MultiTexCoord0;
+ layout(location = 0) out vec2 qt_TexCoord0;
+ layout(std140, binding = 0) uniform buf {
+ mat4 qt_Matrix;
+ float qt_Opacity;
+ float width;
+ };
+ void main() {
+ vec4 pos = qt_Vertex;
+ float d = 0.5 * smoothstep(0.0, 1.0, qt_MultiTexCoord0.y);
+ pos.x = width * mix(d, 1.0 - d, qt_MultiTexCoord0.x);
+ gl_Position = qt_Matrix * pos;
+ qt_TexCoord0 = qt_MultiTexCoord0;
+ }
+ \endcode
\endtable
*/