{"repo":"wojciech-graj/TermGL","free":true,"listed":false,"github":"https://github.com/wojciech-graj/TermGL","clone":"git clone https://github.com/wojciech-graj/TermGL.git","description":"2D & 3D graphics engine in the terminal [C/C++]","language":"C","stars":403,"topics":["terminal-based","terminal","terminal-graphics","linux-shell","unix-shell","3d","3d-graphics","graphics","graphics-engine","graphics-library"],"license":"MIT","category":"cli-tools","readme_excerpt":"TermGL 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 mode - Indexed color mode: 16 Background colors, 16 foreground colors, bold and underline - Non-blocking input from terminal - Mouse tracking Gallery Documentation A tutorial can be found here. Additionally, please reference the demo, and read the function documentation in termgl.h for more details. Build You can compile termgl.c as you would any other C source file. You can also compile it as a shared library libtermgl.so by calling make shared . To install the shared library, sudo make install . To enable 3D functionality, define TERMGL3D or use the -DTERMGL3D compiler flag. To enable utility functions, define TERMGLUTIL or use the -DTERMGLUTIL compiler flag. To disable helper functions for vector math and shaders, define TERMGL MINIMAL or use the -DTERMGL MINIMAL compiler flag. To use TermGL in C++, compile it as a shared library and link against the libtermgl.so file. The termgl.h header can be included from C++ files. To compile a demo program, run make demo , creating the termgl demo binary. Demo A demo program can be found at termgl demo.c . Available demos and TermGL features used: 1. Utah Teapot\\ Renders a rotating 3D Utah Teapot. - Backface culling - Z buffering - Double-width characters - 3D rendering - Custom shaders 2. Color Palette\\ Renders a palett","default_branch":null,"files":null,"tree":[],"storefront":"/r/wojciech-graj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wojciech-graj/TermGL/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}