#version 300 es out lowp vec4 _fragData; uniform mat4x3 nonSqMat; // non square matrices void main() { const float cosPI = cos(3.1415); // built-in calls in constant initializers mediump vec4 v; v.x = 1.2f; // accepts 'f' suffix v.y = 5.0f; v.z = 0.0; v.w = cosPI; v.x += nonSqMat[0][0]; float arr[4] = float[](1,2,3,4); // array initializer v.y += arr[0]; v.z += float(arr.length()); // array length _fragData = v; }