class_docstr: **Bases:** :class:`GLGraphicsItem <pyqtgraph.opengl.GLGraphicsItem.GLGraphicsItem>`
  
  Displays volumetric data. 
class_docstr_tok: ["*","*","Bases",":","*","*",":","class",":","`","GLGraphicsItem","<","pyqtgraph.opengl.GLGraphicsItem.GLGraphicsItem",">","`","Displays","volumetric","data","."]
code: def paint(self):
      if self.data is None:
          return
  
      if self._needUpload:
          self._uploadData()
  
      self.setupGLState()
  
      glEnable(GL_TEXTURE_3D)
      glBindTexture(GL_TEXTURE_3D, self.texture)
  
      # glEnable(GL_DEPTH_TEST)
      # glDisable(GL_CULL_FACE)
      # glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
      # glEnable( GL_BLEND )
      # glEnable( GL_ALPHA_TEST )
      glColor4f(1, 1, 1, 1)
  
      view = self.view()
      center = QtGui.QVector3D(*[x / 2.0 for x in self.data.shape[:3]])
      cam = self.mapFromParent(view.cameraPosition()) - center
      # print "center", center, "cam", view.cameraPosition(), self.mapFromParent(view.cameraPosition()), "diff", cam
      cam = np.array([cam.x(), cam.y(), cam.z()])
      ax = np.argmax(abs(cam))
      d = 1 if cam[ax] > 0 else -1
      glCallList(self.lists[(ax, d)])  ## draw axes
      glDisable(GL_TEXTURE_3D)
  
file_path: pyqtgraph/pyqtgraph/opengl/items/GLVolumeItem.py
imports: from OpenGL.GL import *
  import numpy
  from ...Qt import QtGui
  from ..GLGraphicsItem import GLGraphicsItem
label_desc: Use image node_id 4 for calling the GLVolumeItem obj's underlying member method code with example usage: obj.paint() without return types