A terminal-based graphics library for both 2D and 3D graphics.

Overview

TermGL

A terminal-based graphics library for both 2D and 3D graphics.
Written in C, created for terminals supporting ANSI escape codes.

Table of Contents

Gallery
Build
Documentation

Gallery

LOGO

CANYON

TEAPOT

Build

Only C standard libraries are used, allowing for easy compilation.
To compile a test program, run the test/Makefile.

make test

Documentation

A sample program exists here: test/termgl_test.c, and utilizes all features of the TermGL library.
Every header file in src/ also contains documentation for every function.
Certain settings can be changed in the termgl.h file, e.g. memory allocation functions, clear screen command, compiler-specific commands.

You might also like...
modified Mesa 3D graphics library for Termux

Mesa - The 3D Graphics Library This repo contains the mesa 3d graphics library modified for zink to work on termux Source This repository lives at htt

Android studio native project template using cross platform raylib graphics library.

rayturbo Android studio native project template using cross platform raylib graphics library. https://www.raylib.com/ This project use Android Studio

A graphics library using SDL programmed in C++

2DGraphicsLib A graphics library using SDL programmed in C++ This project will serve multiple purposes: I aim to learn how to program with C++ To crea

Pathway is an Android library that provides new functionalities around the graphics Path API.

Pathway is an Android library that provides new functionalities around the graphics Path API.

The tiny C library of 2D computer graphics.
The tiny C library of 2D computer graphics.

libcg The tiny C library of 2D computer graphics. Getting Started The library's .c and .h files can be dropped into a project and compiled along with

Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾

Matplot++ A C++ Graphics Library for Data Visualization Data visualization can help programmers and scientists identify trends in their data and effic

NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs

NVRHI Introduction NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs (GA

Lightweight and modular C++11 graphics middleware for games and data visualization

Magnum — Lightweight and modular C++11/C++14 graphics middleware for games and data visualization Looking for an open-source library that gives you gr

Brand new engine with new and QoL features. Grafex is Psych engine with some additions and Better graphics

Friday Night Funkin' - Graphex Engine Credits: Grafex Mod aka Psych Graphic Rework: Xale - Lead Coding, Artist PurpleSnake - Second Coder Psych Engine

Comments
  • Header-only version

    Header-only version

    a few updates with it where I updated some of the code to C99 style. Fixed a memory leak with trigs not being freed in main. replaced malloc calls with calloc.

    opened by assyrianic 3
  • License Information

    License Information

    Hi,

    thanks a lot for sharing this. It's a very nice project.

    I built a simple "fun"/"toy" application that uses TermGL. My application connects to some other Open Source project of mine via a Message-oriented Middleware (MoM) and renders data received from the MoM in 3D in the terminal via TermGL.

    I would like to share this application as Open Source on GitHub as well. To properly give credit to TermGL, it would be great if there was some information about the TermGL license. Is it possible for you to add license information to TermGL?

    Thanks in advance and cheers, Ruediger

    opened by ruedigergad 3
  • possible memory corruption issue in `tgl_puts`?

    possible memory corruption issue in `tgl_puts`?

    https://github.com/wojciech-graj/TermGL/blob/d95752b83a67059f0c8fd74255188285861d04d6/src/termgl.c#L163-L164

    What is the purpose of checking c_ptr as a pointer value itself? Is it supposed to check if c_ptr is NULL or check if the dereference of c_ptr is 0/null terminator?

    if it's supposed to be both, I'd argue for while(c_ptr && *c_ptr != 0)

    opened by assyrianic 0
Releases(v1.2.2)
Owner
null
kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics

kaun kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics. It is a Lua module you can require from a shared library

Joel Schumacher 4 Apr 5, 2021
This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows.

DirectX-Graphics-Samples This repo contains the DirectX 12 Graphics samples that demonstrate how to build graphics intensive applications for Windows

Microsoft 4.9k Dec 26, 2022
Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics

Yocto/GL: Tiny C++ Libraries for Data-Oriented Physically-based Graphics Yocto/GL is a collection of small C++17 libraries for building physically-bas

Fabio Pellacini 2.4k Dec 27, 2022
A modern cross-platform low-level graphics library and rendering framework

Diligent Engine A Modern Cross-Platform Low-Level 3D Graphics Library Diligent Engine is a lightweight cross-platform graphics API abstraction library

Diligent Graphics 2.6k Dec 30, 2022
Yet another Chip-8 interpreter, this time written in C++ using GLFW and OpenGL as its graphics library 💻

Yet another Chip-8 interpreter, but this time with a beautiful interface ??

Akshit Garg 30 Dec 14, 2022
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

bgfx - Cross-platform rendering library GitHub Discussions Discord Chat What is it? Cross-platform, graphics API agnostic, "Bring Your Own Engine/Fram

Бранимир Караџић 12.6k Jan 8, 2023
A library for high-performance, modern 2D graphics with SDL written in C.

SDL_gpu, a library for making hardware-accelerated 2D graphics easy. by Jonathan Dearborn SDL_gpu is licensed under the terms of the MIT License. See

Jonathan Dearborn 1.1k Jan 5, 2023
3D engine from scratch (without OpenGL or any other 3D graphics library)

Simple 3d engine based on SFML library. I tried to make this engine powerful and easy to understand.

Vectozavr 64 Dec 10, 2022
A small cross-platform graphics library made in C

minigfx Small graphics library made in C Intended to be: Simple to understand Intuitive Fun to use Features Cross platform: Windows and Linux. To see

Laurentino Luna 27 Jul 18, 2021