class_docstr: Representation of global shader variable
  
  Parameters
  ----------
  name : str
      the name of the variable. This string can also contain the full
      definition of the variable, e.g. 'uniform vec2 foo'.
  value : {float, int, tuple, GLObject}
      If given, vtype and dtype are determined automatically. If a
      float/int/tuple is given, the variable is a uniform. If a gloo
      object is given that has a glsl_type property, the variable is
      an attribute and
  vtype : {'const', 'uniform', 'attribute', 'varying', 'inout'}
      The type of variable.
  dtype : str
      The data type of the variable, e.g. 'float', 'vec4', 'mat', etc.
class_docstr_tok: ["Representation","of","global","shader","variable","Parameters","--","--","--","--","--","name",":","str","the","name","of","the","variable",".","This","string","can","also","contain","the","full","definition","of","the","variable",",","e.g",".","'uniform","vec2","foo","'",".","value",":","{","float",",","int",",","tuple",",","GLObject","}","If","given",",","vtype","and","dtype","are","determined","automatically",".","If","a","float\/int\/tuple","is","given",",","the","variable","is","a","uniform",".","If","a","gloo","object","is","given","that","has","a","glsl_type","property",",","the","variable","is","an","attribute","and","vtype",":","{","'const","'",",","'uniform","'",",","'attribute","'",",","'varying","'",",","'inout","'","}","The","type","of","variable",".","dtype",":","str","The","data","type","of","the","variable",",","e.g",".","'float","'",",","'vec4","'",",","'mat","'",",","etc","."]
code: def name(self, n):
      # Settable mostly to allow automatic setting of varying names
      # See ShaderObject.create()
      if self._name != n:
          self._name = n
          self.changed(code_changed=True)
  
imports: import numpy
  from .shader_object import ShaderObject
label_desc: Use image node_id 3 for calling the Variable obj's underlying member method code with example usage: obj.name(n) without return types