diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2021-03-03 09:49:19 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-03-10 11:59:12 +0000 |
commit | 85cdc455588cc7478ea1ac13b6202ef4bbc71220 (patch) | |
tree | cc91c36066d9f10ab6d34cc92c0e04eaf72b1b36 /src | |
parent | a9061bac004c77b9a6d863854c1635f2a33be7b3 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickshadereffectmesh.cpp | 36 |
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 */ |