info.layout_hash = compute_layout_hash(info.uniforms);
info.bind_point = info.layout_hash%BufferRange::get_n_uniform_buffer_bindings();
glUniformBlockBinding(id, i, info.bind_point);
info.layout_hash = compute_layout_hash(info.uniforms);
info.bind_point = info.layout_hash%BufferRange::get_n_uniform_buffer_bindings();
glUniformBlockBinding(id, i, info.bind_point);