1 uniform mat4 vp_matrix;
4 #pragma MSP stage(vertex)
5 layout(location=0) in vec4 position;
6 layout(location=1) in vec2 texcoord;
7 layout(location=2) in vec4 instance_transform[3];
11 mat4 model_matrix = transpose(mat4(instance_transform[0], instance_transform[1], instance_transform[2], vec4(0.0, 0.0, 0.0, 1.0)));
12 gl_Position = vp_matrix*model_matrix*position;
15 #pragma MSP stage(geometry)
17 layout(triangles, max_vertices=3) out;
20 for(int i=0; i<3; ++i)
27 #pragma MSP stage(fragment)
28 layout(location=0) out vec4 frag_color;
31 frag_color = texture(tex, texcoord);
34 /* Expected output: vertex
35 uniform mat4 vp_matrix;
36 layout(location=0) in vec4 position;
37 layout(location=1) in vec2 texcoord;
38 layout(location=2) in vec4 instance_transform[3];
39 out vec2 _vs_out_texcoord;
42 _vs_out_texcoord = texcoord;
43 gl_Position = vp_matrix*transpose(mat4(instance_transform[0], instance_transform[1], instance_transform[2], vec4(0.0, 0.0, 0.0, 1.0)))*position;
47 /* Expected output: geometry
49 layout(triangles, max_vertices=3) out;
50 in vec2 _vs_out_texcoord[];
51 out vec2 _gs_out_texcoord;
54 for(int i = 0; i<3; ++i)
56 gl_Position = gl_in[i].gl_Position;
57 _gs_out_texcoord = _vs_out_texcoord[i];
63 /* Expected output: fragment
64 uniform sampler2D tex;
65 layout(location=0) out vec4 frag_color;
66 in vec2 _gs_out_texcoord;
69 frag_color = texture(tex, _gs_out_texcoord);