code: function() {
          var min_size = Infinity;
          var index = null;
          for (var i = 0; i < this.bound_textures.length; i++) {
              var t = this.bound_textures[i];
              if (t.size < min_size) {
                  min_size = t.size;
                  index = i;
              }
          }
          return index;
      }
docs: Returns the bound texture of smallest size If we have more textures than available units, we should preferentially leave the larger textures bound?