CSC3223_Graphics_For_Games_OpenGL_Rasteriser / OpenGLGraphics / basicTessellationEvaluation.glsl
basicTessellationEvaluation.glsl
Raw
#version 400 core

layout (triangles , equal_spacing , ccw) in;

uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projMatrix;

void main () {
 vec3 p0 = gl_TessCoord.x * gl_in[0].gl_Position.xyz;
 vec3 p1 = gl_TessCoord.y * gl_in[1].gl_Position.xyz;
 vec3 p2 = gl_TessCoord.z * gl_in[2].gl_Position.xyz;

 vec3 combinedPos = p0 + p1 + p2;

 vec4 worldPos = modelMatrix * vec4 ( combinedPos , 1);

 gl_Position = projMatrix * viewMatrix * worldPos;
}