A terminal-based graphics library for 2D and 3D graphics.
Features:
- Windows & *NIX support
- C99 compliant without external dependencies
- Custom vertex and pixel shaders
- Affine texture mapping
- 24 bit RGB
- Indexed color mode: 16 Background colors, 16 foreground colors, bold and underline
- Non-blocking input from terminal
- Mouse tracking
Package can be found on PyPI and can be installed using pip:
pip install termgl
The best way to learn to use TermGL is to read the tutorial here.
Additionally, documentation of all public members of TermGL can be found here.
A variety of demos can be found in the demo directory. To run the demo utility, simply python demo.
Available demos and TermGL features used:
- Utah Teapot
Renders a rotating 3D Utah Teapot.- Backface culling
- Z buffering
- Double-width characters
- 3D rendering
- Custom shaders
- Color Palette
Renders a palette of various text colors and styles.- Colors & Modifiers
- Mandelbrot
Renders an infinitely zooming-in Mandelbrot set.- Point rendering
- Realtime Keyboard
Displays keyboard input in realtime.- Text rendering
- Realtime keyboard input
- Textured Cube
Renders a texture-mapped cube.- Backface culling
- Z buffering
- Double-width characters
- 3D rendering
- Shaders
- Texture mapping
- RGB
Renders overlapping red, green, and blue circles.- 24 bit RGB
- Text rendering
- Mouse
Displays mouse position and button state.- Mouse tracking
- Text rendering


