CSC3223_Graphics_For_Games_OpenGL_Rasteriser / Shaders / basicTessellationControl.glsl
basicTessellationControl.glsl
Raw
#version 400 core

layout ( vertices =3) out ; //numverticesinpatchoutput

uniformfloattessLevelInner;
uniformfloattessLevelOuter;

in Vertex {
vec4 colour;
} IN [];

out Vertex {
vec4 colour;
} OUT [];

patch out Vector4 subColour;

voidmain () {
 gl_TessLevelInner [0] = tessLevelInner;
//gl_TessLevelInner[1]=tessLevelInner; //quadsonly!

 gl_TessLevelOuter [0] = tessLevelOuter;
 gl_TessLevelOuter [1] = tessLevelOuter;
 gl_TessLevelOuter [2] = tessLevelOuter;
//gl_TessLevelOuter[3]=tessLevelOuter; //Quadsonly!

 barrier ();//Notactuallynecessaryinthisparticularshader!
 gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position ;
}