summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/tessellation-modes/shaders/triangles.tcs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qt3d/tessellation-modes/shaders/triangles.tcs')
-rw-r--r--examples/qt3d/tessellation-modes/shaders/triangles.tcs19
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/qt3d/tessellation-modes/shaders/triangles.tcs b/examples/qt3d/tessellation-modes/shaders/triangles.tcs
new file mode 100644
index 000000000..c311796fd
--- /dev/null
+++ b/examples/qt3d/tessellation-modes/shaders/triangles.tcs
@@ -0,0 +1,19 @@
+#version 400 core
+
+layout( vertices = 3 ) out;
+
+uniform float inner[2] = float[]( 1.0, 1.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_TessLevelInner[0] = inner[0];
+}