1cb93a386Sopenharmony_ci#version 310 es 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_cilayout(std140) uniform UBO 4cb93a386Sopenharmony_ci{ 5cb93a386Sopenharmony_ci vec4 A4[5][4][2]; 6cb93a386Sopenharmony_ci mat4 uMVP; 7cb93a386Sopenharmony_ci vec4 A1[2]; 8cb93a386Sopenharmony_ci vec4 A2[2][3]; 9cb93a386Sopenharmony_ci float A3[3]; 10cb93a386Sopenharmony_ci vec4 Offset; 11cb93a386Sopenharmony_ci}; 12cb93a386Sopenharmony_cilayout(location = 0) in vec4 aVertex; 13cb93a386Sopenharmony_ci 14cb93a386Sopenharmony_civoid main() 15cb93a386Sopenharmony_ci{ 16cb93a386Sopenharmony_ci vec4 a4 = A4[2][3][1]; // 2 * (4 * 2) + 3 * 2 + 1 = 16 + 6 + 1 = 23. 17cb93a386Sopenharmony_ci vec4 offset = A2[1][1] + A1[1] + A3[2]; 18cb93a386Sopenharmony_ci gl_Position = uMVP * aVertex + Offset + offset; 19cb93a386Sopenharmony_ci} 20