The gpu.shaders vocabulary supports defining, compiling, and linking shader s into program s that run on the GPU and control rendering.
GLSL-PROGRAM:

GLSL-SHADER:

GLSL-SHADER-FILE:


A program must be instantiated for each graphics context it is used in:
<program-instance> ( program: program -- instance: program-instance )


Program instances can be updated on the fly, allowing for interactive development of shaders:
refresh-program ( program: program -- )


Render data inside GPU buffer s is organized into vertex-array s for consumption by shader code:
vertex-array

<multi-vertex-array> ( vertex-formats program-instance -- vertex-array )

<vertex-array*> ( vertex-buffer program-instance format -- vertex-array )

<vertex-array> ( vertex-buffer program-instance -- vertex-array )

VERTEX-FORMAT: