gl: use vectors for uniform values