glsl: encode struct/interface types better