.. py:module:: demosys.opengl
.. py:currentmodule:: demosys.opengl
.. automethod:: ShaderProgram.uniform(name, value=None)
.. automethod:: ShaderProgram.prepare(reload=False)
.. automethod:: ShaderProgram.set_source(source:str)
.. automethod:: ShaderProgram.set_vertex_source(source:str)
.. automethod:: ShaderProgram.set_geometry_source(source:str)
.. automethod:: ShaderProgram.set_fragment_source(source:str)
.. automethod:: ShaderProgram.release()
.. autoattribute:: ShaderProgram.subroutines
.. autoattribute:: ShaderProgram.geometry_input
.. autoattribute:: ShaderProgram.geometry_output
.. autoattribute:: ShaderProgram.geometry_vertices
.. autoattribute:: ShaderProgram.mglo
.. autoattribute:: ShaderProgram.glo
.. autoattribute:: ShaderProgram.ctx