summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/tessellation-modes/shaders/quads.tcs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qt3d/tessellation-modes/shaders/quads.tcs')
-rw-r--r--examples/qt3d/tessellation-modes/shaders/quads.tcs21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/qt3d/tessellation-modes/shaders/quads.tcs b/examples/qt3d/tessellation-modes/shaders/quads.tcs
new file mode 100644
index 000000000..367195522
--- /dev/null
+++ b/examples/qt3d/tessellation-modes/shaders/quads.tcs
@@ -0,0 +1,21 @@
+#version 400 core
+
+layout( vertices = 4 ) out;
+
+uniform float inner[2] = float[]( 10.0, 10.0 );
+uniform float outer[4] = float[]( 1.0, 1.0, 1.0, 1.0 );
+
+void main()
+{
+ // Pass along the vertex position unmodified
+ gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
+
+ // Set the tessellation levels from the uniforms
+ gl_TessLevelOuter[0] = outer[0];
+ gl_TessLevelOuter[1] = outer[1];
+ gl_TessLevelOuter[2] = outer[2];
+ gl_TessLevelOuter[3] = outer[3];
+
+ gl_TessLevelInner[0] = inner[0];
+ gl_TessLevelInner[1] = inner[1];
+}