rougier / gsp-matplotlib

Graphic Server Protocol (GSP) : Matplotlib implementation

Home Page:https://rougier.github.io/gsp-matplotlib/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

The Graphic Server Protocol (GSP) is meant to be an API between hardware and software, targeted at developpers who do not want to dive into the arcane of OpenGL, Metal or Vulkan but still want to benefit from GPU speed, versatily and quality.

The overall goal of GSP is not to provide a general graphics API but rather to address only scientific visualization, which requires a far fewer number of objects and concepts, with specific requirements on rendering quality though. The API is voluntarily small and targets the smallest set of visuals that allow to render the vast majority of scientific plots (2d or 3d).

Status

Core

Visual

Zero dimension

One dimension

  • visual.Segments - create a collection of line segments
  • visual.Lines - create a collection of straight lines
  • visual.Paths - create a collection of smooth lines

Two dimensions

  • visual.Triangles - create a collection of triangles
  • visual.Polygons - create a collection of polygons
  • visual.Glyphs - create a collection of glyphs

Three dimensions

  • visual.Mesh - create a mesh
  • visual.Volume - create a volume

Transform

Base

Colors

Operators (T[n] × T[n] → T[n])

Accessors (T[n] → T[1])

Geometry (T[n] → T[n])

  • transform.Scale - Arbitrary scaling
  • transform.Translate - Arbitraty translation
  • transform.Rotate - Arbitraty rotation
  • transform.MVP - Model / View / Projection (T[n] → T[3])

Screen (JIT) ( ∅ → T[1])

Measure (T[n] → T[n])

About

Graphic Server Protocol (GSP) : Matplotlib implementation

https://rougier.github.io/gsp-matplotlib/


Languages

Language:Python 100.0%