3 GL_ARB_tessellation_shader
4 GL_ARB_arrays_of_arrays
6 [vertex shader passthrough]
8 [tessellation control shader]
9 #extension GL_ARB_tessellation_shader: require
10 #extension GL_ARB_arrays_of_arrays: require
11 layout(vertices = 3) out;
13 patch out vec4 color[3][2];
16 gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
17 gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 0.0);
18 gl_TessLevelInner = float[2](0.0, 0.0);
19 color[0][1] = vec4(0, 0.1, 0, 1);
20 color[1][0] = vec4(0, 0.5, 0, 1);
21 color[2][0] = vec4(0, 0.2, 0, 1);
22 color[2][1] = vec4(0, 0.2, 0, 1);
26 [tessellation evaluation shader]
27 #extension GL_ARB_tessellation_shader: require
28 #extension GL_ARB_arrays_of_arrays: require
31 patch in vec4 color[3][2];
35 gl_Position = gl_in[0].gl_Position * gl_TessCoord[0]
36 + gl_in[1].gl_Position * gl_TessCoord[1]
37 + gl_in[2].gl_Position * gl_TessCoord[2];
39 color_fs = color[0][1] + color[2][0] + color[2][1] + color[1][0];
48 gl_FragColor = color_fs;
61 clear color 0.1 0.1 0.1 0.1
63 patch parameter vertices 3
64 draw arrays GL_PATCHES 0 6
65 probe all rgba 0.0 1.0 0.0 1.0