class_docstr: Main proxy for the GL ES 2.0 API.
  
  The functions in this namespace always call into the correct GL
  backend. Therefore these function objects can be safely stored for
  reuse. However, for efficienty it would probably be better to store the
  function name and then do ``func = getattr(gloo.gl, funcname)``.
code: def __call__(self, funcname, returns, *args):
      func = getattr(current_backend, funcname)
      return func(*args)
  
file_path: vispy/vispy/gloo/gl/__init__.py
imports: from __future__ import division
  import os
  from ...util import config, logger
  from ._constants import *
  from ._proxy import BaseGLProxy
  from .None import gl2
label_desc: Use image node_id 1 for calling the MainProxy obj's underlying member method code with example usage: obj.__call__(funcname, returns) and returns: func