1e5c31af7Sopenharmony_ci#version 430 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_cilayout(location = 0) in vec4 in_position; 4e5c31af7Sopenharmony_cilayout(location = 1) in vec4 in_color; 5e5c31af7Sopenharmony_cilayout(location = 2) in int in_refVertexIndex; 6e5c31af7Sopenharmony_ci 7e5c31af7Sopenharmony_cilayout(location = 0) out vec4 out_color; 8e5c31af7Sopenharmony_ci 9e5c31af7Sopenharmony_ciout gl_PerVertex { 10e5c31af7Sopenharmony_ci vec4 gl_Position; 11e5c31af7Sopenharmony_ci}; 12e5c31af7Sopenharmony_ci 13e5c31af7Sopenharmony_civoid main() { 14e5c31af7Sopenharmony_ci vec2 perVertex = vec2(in_position.x, in_position.y); 15e5c31af7Sopenharmony_ci vec2 perInstance[6] = vec2[6](vec2(0.7, -0.7), vec2(-0.75, 0.8), vec2(0.0, 0.0), vec2(0.3, 0.0), vec2(0.0, -0.3),vec2(0.3, -0.3) ); 16e5c31af7Sopenharmony_ci 17e5c31af7Sopenharmony_ci gl_Position = vec4(perVertex + perInstance[gl_InstanceIndex], 0.0, 1.0); 18e5c31af7Sopenharmony_ci 19e5c31af7Sopenharmony_ci if (gl_VertexIndex == in_refVertexIndex) 20e5c31af7Sopenharmony_ci out_color = in_color; 21e5c31af7Sopenharmony_ci else 22e5c31af7Sopenharmony_ci out_color = vec4(1.0, 0.0, 0.0, 1.0); 23e5c31af7Sopenharmony_ci} 24