code: function wrapGLCall(fn, callback) {
      const glFn = gl[fn]
      gl[fn] = function() {
        callback(arguments)
        return glFn.apply(this, arguments)
      }
    }
docs: TODO: pipelines, passes, etc wrapRes('vertexBuffer', 'bufferCount') wrapRes('elementsBuffer', 'elementsCount') wrapRes('texture2D', 'text') wrapRes('cube', 'totalTextureCubeCount') wrapRes('framebuffer', 'totalFramebufferCount')