OpenGL uniform block有index 而没有location

在opengl shader 里面,有独立uniform和uniform block两个概念,每个独立的uniform,又有一个uniform index和uniform location, glGetActiveUniform通过index来获取uniform type, name信息,再通过name 来获取uniform location, 接着根据type的不同选取不同函数填充uniform数据。但是在uniform block的情形下,只有uniform block index这个标志符,且地位和作用根uniform location相似,给uniform block 赋值的时候只是通过将uniform block index绑定到一个binding point,再通过这个bindingpoint 绑定到uniform buffer object.
为什么uniform block 有index,而没有location?