diff options
Diffstat (limited to 'shaders/water.tcs')
-rw-r--r-- | shaders/water.tcs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/shaders/water.tcs b/shaders/water.tcs new file mode 100644 index 0000000..22b7a49 --- /dev/null +++ b/shaders/water.tcs @@ -0,0 +1,28 @@ +#version 430 + +// number of CPs in patch +layout (vertices = 4) out; + +// from VS (use empty modifier [] so we can say anything) +in vec3 controlpoint[]; + +// to evluation shader. will be used to guide positioning of generated points +out vec3 evaluationpoint[]; + +float tessLevelInner = 30.0; // controlled by keyboard buttons +float tessLevelOuter = 30.0; // controlled by keyboard buttons + +void main () { + evaluationpoint[gl_InvocationID] = controlpoint[gl_InvocationID]; + + // Calculate the tessellation levels + + if ( gl_InvocationID == 0 ) { + gl_TessLevelInner[0] = tessLevelInner; // number of nested primitives to generate + gl_TessLevelInner[1] = tessLevelInner; // number of nested primitives to generate + gl_TessLevelOuter[0] = tessLevelOuter; // times to subdivide first side + gl_TessLevelOuter[1] = tessLevelOuter; // times to subdivide second side + gl_TessLevelOuter[2] = tessLevelOuter; // times to subdivide second side + gl_TessLevelOuter[3] = tessLevelOuter; // times to subdivide second side + } +} |