vec3 takes float 32 array