GridMesh QML Type

頂点が格子状に配置されたメッシュを定義する。詳細...

Import Statement: import QtQuick

プロパティ

詳細説明

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

プロパティの説明

resolution : size

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

結果QMLコードgridmesh.vert

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;
}

© 2025 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.