1[require]
2GL >= 2.0
3GLSL >= 1.10
4GL_ARB_geometry_shader4
5
6[vertex shader]
7#version 110
8
9attribute vec4 vertex;
10
11void main()
12{
13  gl_Position = vertex;
14}
15
16[geometry shader]
17#version 110
18#extension GL_ARB_geometry_shader4: enable
19
20void main()
21{
22  for (int i = 0; i < 3; i++) {
23    gl_Position = gl_PositionIn[i];
24    EmitVertex();
25  }
26}
27
28[geometry layout]
29input type GL_TRIANGLES
30output type GL_TRIANGLE_STRIP
31vertices out 3
32
33[fragment shader]
34#version 110
35
36void main()
37{
38  gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
39}
40
41[vertex data]
42vertex/float/2
43-1.0 -1.0
44 1.0 -1.0
45 1.0  1.0
46-1.0  1.0
47
48[test]
49draw arrays GL_TRIANGLE_FAN 0 4
50probe all rgba 0.0 1.0 0.0 1.0
51