aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/scenegraph_lancelot/data/shaders/atlas/atlas.qml
blob: 06c254253e58975ad0aa86078e411d84dcae0ea6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import QtQuick 2.15

Item {
    width: 320
    height: 480

    Column {
        spacing: 10
        padding: 5

        Repeater {
            model: ["sand_16x16.png", "circle_16x16.png", "star_16x16.png", "square_16x16.png"]
            Row {
                spacing: 20
                Image {
                    id: img
                    source: "../../shared/" + modelData
                }

                // Non-atlased: copies subrect of atlas to a new texture
                ShaderEffect {
                    width: img.width
                    height: img.height
                    property variant source: img
                    fragmentShader: "qrc:shaders/gradientgrid.frag"
                    supportsAtlasTextures: false
                }

                // Atlased: qt_MultiTexCoord0 points to the atlas subrect
                ShaderEffect {
                    width: img.width
                    height: img.height
                    property variant source: img
                    fragmentShader: "qrc:shaders/gradientgrid.frag"
                    supportsAtlasTextures: true
                }

                // Subrect mode: qt_MultiTexCoord0 goes from 0.0 to 1.0,
                // and qt_Subrect_source specifies the atlas subrect
                ShaderEffect {
                    width: img.width
                    height: img.height
                    property variant source: img
                    fragmentShader: "qrc:shaders/gradientgrid.frag"
                    vertexShader: "qrc:shaders/subrect.vert"
                    supportsAtlasTextures: false
                }
            }
        }
    }
}