code: def setUniformVariables(programObj, texture, texw, texh, step):
      """setUniformVariables - set the uniform shader variables we need"""
      gl.glUseProgram(programObj)
      location_texture = gl.glGetUniformLocation(programObj, "texture")
      if location_texture != -1:
          gl.glUniform1i(location_texture, texture)
      location_texw = gl.glGetUniformLocation(programObj, "texw")
      if location_texw != -1:
          gl.glUniform1f(location_texw, texw)
      location_texh = gl.glGetUniformLocation(programObj, "texh")
      if location_texh != -1:
          gl.glUniform1f(location_texh, texh)
      location_step = gl.glGetUniformLocation(programObj, "step")
      if location_step != -1:
          gl.glUniform1f(location_step, step)
      gl.glUseProgram(0)
      checkGLError()
  
file_path: vispy/examples/demo/gloo/jfa/jfa_translation.py
imports: import numpy
  from os import path
  from vispy.ext import glfw
  from vispy.io import load_data_file
  from OpenGL import GL
  from OpenGL import GLU
  from PIL import Image
  import time
label_desc: Use image node_id 2 for calling a global function with example usage: setUniformVariables(programObj, texture, texw, texh, step) without return types