Portal:OpenGL Shading Language/Interface Blocks
Global variables of certain kinds of storage qualifiers can be aggregated into Interface Blocks. These blocks group all of these variables under a certain name. This allows different stages to more easily communicate, as these groups of variables can often be aggregated into arrays. Interface blocks are also used for aggregating large data structures whose storage comes from Buffer Objects.