summaryrefslogtreecommitdiffstats
path: root/tests/manual/rhi/displacement/material.tesc
blob: cb9e677034d53ba4df011dd76536826a960baeed (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
#version 440

layout(vertices = 3) out;

layout(location = 0) in vec2 in_uv[];
layout(location = 1) in vec3 in_normal[];

layout(location = 0) out vec2 out_uv[];
layout(location = 1) out vec3 out_normal[];

layout(std140, binding = 0) uniform buf {
    mat4 mvp;
    float displacementAmount;
    float tessInner;
    float tessOuter;
    int useTex;
};

void main()
{
    if (gl_InvocationID == 0) {
        gl_TessLevelOuter[0] = tessOuter;
        gl_TessLevelOuter[1] = tessOuter;
        gl_TessLevelOuter[2] = tessOuter;

        gl_TessLevelInner[0] = tessInner;
    }

    gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
    out_uv[gl_InvocationID] = in_uv[gl_InvocationID];
    out_normal[gl_InvocationID] = in_normal[gl_InvocationID];
}