#version 400 core

layout( vertices = 3 ) out;

uniform float inner[2] = float[]( 1.0, 1.0 );
uniform float outer[4] = float[]( 1.0, 1.0, 1.0, 1.0 );

void main()
{
    // Pass along the vertex position unmodified
    gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;

    // Set the tessellation levels from the uniforms
    gl_TessLevelOuter[0] = outer[0];
    gl_TessLevelOuter[1] = outer[1];
    gl_TessLevelOuter[2] = outer[2];

    gl_TessLevelInner[0] = inner[0];
}
