Application Program Interface (API)

Glumpy is organized around three blocks:

  • The app package is responsible for opening a window and handling user events.
  • The gloo package is responsible for handling shader programs and syncing CPU/GPU data.
  • The graphics package provides higher-level common objects such as text, collections and widgets.

App

  • clock : Clock
  • console : Debug console
  • options : Command line options
  • configuration : Default configuration
  • window
    • backends : Backend specific code
    • event : Event dispatcher
    • mouse : Mouse events
    • keyboard : Keyboard events
    • window : Abstract window

Gloo

  • globject : Abstract object that lives on CPU & GPU
  • gpudata : GPU aware numpy array
  • program : GPU Program
  • parser : GLSL parser
  • shader : Programmable shader
  • snippet : Reusable GLSL snippet
  • variable : Shader variable (attribute or uniform)
  • buffer : GPU buffer (VertexBuffer/IndexBuffer)
  • texture : GPU texture (1D/2D/3D)
  • atlas : 2D Texture atlas

Graphics

  • color : Color handling
  • svg : SVG parsing
  • collections
    • point : Points collection
    • segment : Line segment collection
    • path : Path collection
    • triangle : Triangles collection
    • polygon : Polygon collection
    • glyph : Glyph collection

Others

  • geometry : Geometry related functions
  • transforms : Interactive transformations
  • library : Actual shader code
  • gl : OpenGL access
  • glm : Simple 3D matrix transforms
  • ext : External packages