このページでは

GridMesh QML Type

グリッド状に配置された頂点を持つメッシュを定義します。詳細...

Import Statement: import QtQuick

プロパティ

詳細な説明

GridMeshは、等間隔のグリッド上に配置された頂点からなる矩形メッシュを定義します。これは、geometry を生成するために使用されます。グリッドの解像度は、resolution プロパティで指定します。

プロパティのドキュメント

resolution : size

このプロパティはグリッドの解像度を保持します。解像度の幅と高さは、それぞれ水平方向および垂直方向のセル数、あるいは頂点間の間隔を指定します。最小値およびデフォルト値は 1x1 で、これは各隅に 1 つずつ、合計 4 つの頂点に相当します。非線形の頂点変換を行う場合は、解像度を高く設定することをお勧めします。

結果QMLコードgridmesh.vert

GridMeshの変形によってQtのロゴが歪んでしまう

import QtQuick 2.0

ShaderEffect {
    width: 200
    height: 200
    mesh: GridMesh {
        resolution: Qt.size(20, 20)
    }
    property variant source: Image {
        source: "qt-logo.png"
        sourceSize { width: 200; height: 200 }
    }
    vertexShader: "gridmesh.vert"
}
#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;
}

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.