diff options
author | Joshua Rahm <joshua.rahm@colorado.edu> | 2014-04-18 22:19:36 -0600 |
---|---|---|
committer | Joshua Rahm <joshua.rahm@colorado.edu> | 2014-04-18 22:19:36 -0600 |
commit | 0f408f531f8b569fe89fbd5d953833d9271e7764 (patch) | |
tree | 382c77e4754f00cf96b0da92adf407dcbd810512 /shaders/water.tcs | |
parent | 9d0f1393c2ceba0cd1e236adf7e88c30b9547490 (diff) | |
download | terralloc-0f408f531f8b569fe89fbd5d953833d9271e7764.tar.gz terralloc-0f408f531f8b569fe89fbd5d953833d9271e7764.tar.bz2 terralloc-0f408f531f8b569fe89fbd5d953833d9271e7764.zip |
ready upload
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 + } +} |