1 #version 410 compatibility
3 layout(vertices = 4) out;
5 uniform int tess_level;
7 in float dist[gl_MaxPatchVertices];
11 gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
12 gl_out[gl_InvocationID].gl_TexCoord[0] = gl_in[gl_InvocationID].gl_TexCoord[0];
13 gl_out[gl_InvocationID].gl_TexCoord[1] = gl_in[gl_InvocationID].gl_TexCoord[1];
15 const float min_tess_dist = 800.0;
16 float t = clamp(1.0 - dist[0] / min_tess_dist, 0.0, 1.0);
17 int tess = int(t * float(tess_level - 1.0)) + 1;
19 gl_TessLevelInner[0] = tess;
20 gl_TessLevelInner[1] = tess;
22 gl_TessLevelOuter[0] = tess;
23 gl_TessLevelOuter[1] = tess;
24 gl_TessLevelOuter[2] = tess;
25 gl_TessLevelOuter[3] = tess;