class_docstr: **Bases:** :class:`GLGraphicsItem <pyqtgraph.opengl.GLGraphicsItem.GLGraphicsItem>`
  
  Displays image data as a textured quad.
code: def _updateTexture(self):
      glBindTexture(GL_TEXTURE_2D, self.texture)
      if self.smooth:
          glTexParameteri(
              GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
          )
          glTexParameteri(
              GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
          )
      else:
          glTexParameteri(
              GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST
          )
          glTexParameteri(
              GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST
          )
      glTexParameteri(
          GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER
      )
      glTexParameteri(
          GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER
      )
      # glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_BORDER)
      shape = self.data.shape
  
      ## Test texture dimensions first
      glTexImage2D(
          GL_PROXY_TEXTURE_2D,
          0,
          GL_RGBA,
          shape[0],
          shape[1],
          0,
          GL_RGBA,
          GL_UNSIGNED_BYTE,
          None,
      )
      if (
          glGetTexLevelParameteriv(
              GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH
          )
          == 0
      ):
          raise Exception(
              "OpenGL failed to create 2D texture (%dx%d); too large for this hardware."
              % shape[:2]
          )
  
      data = np.ascontiguousarray(self.data.transpose((1, 0, 2)))
      glTexImage2D(
          GL_TEXTURE_2D,
          0,
          GL_RGBA,
          shape[0],
          shape[1],
          0,
          GL_RGBA,
          GL_UNSIGNED_BYTE,
          data,
      )
      glDisable(GL_TEXTURE_2D)
  
file_path: pyqtgraph/pyqtgraph/opengl/items/GLImageItem.py
imports: from OpenGL.GL import *
  import numpy
  from ..GLGraphicsItem import GLGraphicsItem
label_desc: Use image node_id 4 for calling the GLImageItem obj's underlying member method code with example usage: obj._updateTexture() without return types