class_docstr: Rudimentary, generic GLSL printing tools.
  
  Additional settings:
  'use_operators': Boolean (should the printer use operators for +,-,*, or functions?)
class_docstr_tok: ["Rudimentary",",","generic","GLSL","printing","tools",".","Additional","settings",":","'use_operators","'",":","Boolean","(","should","the","printer","use","operators","for","+",",","-",",","*",",","or","functions","?",")"]
code: def __init__(self, settings={}):
      CodePrinter.__init__(self, settings)
      self.known_functions = dict(known_functions)
      userfuncs = settings.get("user_functions", {})
      self.known_functions.update(userfuncs)
  
imports: from __future__ import annotations
  from sympy.core import Basic, S
  from sympy.core.function import Lambda
  from sympy.core.numbers import equal_valued
  from sympy.printing.codeprinter import CodePrinter
  from sympy.printing.precedence import precedence
  from functools import reduce
label_desc: Use image node_id 1 to create a new GLSLPrinter object from inherited base classes: CodePrinter with example: obj = GLSLPrinter(settings)