vispy.visuals.shaders.multiprogram.
MultiProgram
Bases: object
object
A collection of ModularPrograms that emulates the API of a single ModularProgram.
A single Visual is often drawn in many different ways–viewed under different transforms, with different clipping boundaries, or with different colors as in picking and anaglyph stereo. Each draw may require a different program. To simplify this process, MultiProgram exposes an API that looks very much like a single ModularProgram, but internally manages many programs.
add_program
Create a program and add it to this MultiProgram.
It is the caller’s responsibility to keep a reference to the returned program.
The name must be unique, but is otherwise arbitrary and used for debugging purposes.
bind
frag
A wrapper around all fragment shaders contained in this MultiProgram.
geom
A wrapper around all geometry shaders contained in this MultiProgram.
vert
A wrapper around all vertex shaders contained in this MultiProgram.
MultiShader
Emulates the API of a MainFunction while wrapping all vertex or fragment shaders in a MultiProgram.
Example:
mp = MultiProgram(vert, frag) mp.add_program('p1') mp.add_program('p2') # applies to all programs mp.vert['u_scale'] = (1, 2) # applies to one program mp.get_program('p1').frag['u_color'] = (1, 1, 1, 1)