#version 430 layout (quads, equal_spacing, ccw) in; uniform mat4 proj; uniform mat4 view; uniform mat4 model; uniform mat4 shadow; out vec4 varShadowPosition; void main (void) { vec4 pos = vec4(gl_TessCoord.x, gl_TessCoord.y, sin(gl_TessCoord.x * 6.283185 * 2.0) * 50, 1.0); gl_Position = proj * view * model * pos; varShadowPosition = shadow * model * pos; }