|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Alacritty||48,740||3||9 hours ago||6||March 24, 2023||312||apache-2.0||Rust|
|A cross-platform, OpenGL terminal emulator.|
|Kitty||19,943||2 days ago||19||August 17, 2021||26||gpl-3.0||Python|
|Cross-platform, fast, feature-rich, GPU based terminal|
|Darktile||2,947||6 months ago||11||May 10, 2022||28||mit||Go|
|:waning_crescent_moon: Darktile is a GPU rendered terminal emulator designed for tiling window managers.|
|Glrnvim||259||9 months ago||4||gpl-3.0||Rust|
|glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.|
|Galacritty||145||5 years ago||n,ull||unlicense||Rust|
|[Abandoned experiment] GTK terminal emulator based on Alacritty [USE WEZTERM!]|
|Swift_opengl_example||66||2 months ago||mit||Swift|
|:star: Swift OpenGL Example written with swift (for Ubuntu, macOS, iOS and Android)|
|Terminal Recall||49||2 months ago||49||epl-1.0||Java|
|Engine remake for Terminal Velocity and Fury3|
|Glkitty||43||2 years ago||1||C|
|port of the OpenGL gears demo to kitty terminal graphics protocol|
|Glerminal||24||4 years ago||12||January 20, 2019||12||other||Rust|
|A lightweight terminal made with OpenGL|
|Opengl Ttf Terminal||15||8 years ago||1||C|
|A terminal window for Linux implemented using libtsm, libsdl, stb_truetype, fontstash|
Port of the OpenGL gears demo to kitty terminal graphics protocol.
glkitty is a nano framework for creating kitty terminal apps that send image data to kitty using the kitty terminal graphics protocol.
kitty_gears is a demo app for kitty_util.h and gl2_util.h which are designed to make using the OpenGL ES2 programmable shader pipeline tractible for small self-contained demos running with kitty.
src/gl1_gears.c- original GLFW port of the public domain gears demo.
src/gl2_gears.c- OpenGL 2.1 port of the public domain gears demo.
src/gl3_gears.c- OpenGL 3.2 port of the public domain gears demo.
src/gl4_gears.c- OpenGL 4.5 port of the public domain gears demo.
src/vk1_gears.c- Vulkan 1.1 port of the public domain gears demo.
src/linmath.h- public domain linear algebra header functions.
src/gl2_util.h- header functions for OpenGL ES2 buffers and shaders.
src/kitty_util.h- kitty and terminal request response and IO helpers.
src/kitty_gears.c- OS Mesa kitty port of the public domain gears demo.
The project includes several versions of gears ported to multiple APIs.
kitty_gears uses off-screen OpenGL to render images into a buffer and
then send them to the kitty terminal using the terminal graphics protocol.
The demo uses poll to capture keyboard input and kitty protocol responses
while rendering and transmitting double buffered Base64 encoded images.
ZLib compression is enabled with the the
gl1_gears is the OpenGL 1.x port of gears using immediate mode vertices, call lists and the fixed function lighting model. This code is derived from the gears port included with GLFW.
gl2_gears is the OpenGL 2.x port of gears using GLSL shaders.
It has been ported to use Wolfgang Draxinger's
for constructing the model, view and projection matrices.
contains shader loading and a simple vertex and index buffer implementation.
gl3_gears is mostly the same as gl2_gears with the addition of vertex array objects which were added in OpenGL 3.x.
gl4_gears is mostly the same as gl3_gears with the addition of uniform buffer objects and SPIR-V binary shaders which were added in OpenGL 4.x.
vk1_gears is a Vulkan port of gears which includes options for api dump, validation, variable swapchain images and variable sample buffers. This is a very early prototype.
The project has been tested on Ubuntu 20.04.1 LTS (Focal Fossa).
Use the following command to install dependencies on Ubuntu 20.04:
sudo apt-get install -y cmake ninja-build libosmesa6-dev libopengl-dev libvulkan-dev xorg-dev
The following cmake variables control which examples are built:
-DOSMESA_EXAMPLES=ON- build the OSMesa examples:
-DOPENGL_EXAMPLES=ON- build the OpenGL examples:
-DVULKAN_EXAMPLES=ON- build the Vulkan examples:
-DEXTERNAL_GLFW=ON- build using external GLFW library
-DEXTERNAL_GLAD=ON- build using external GLAD library
By default, the project will build kitty_gears as well as the OpenGL ports _gl1_gears, gl2_gears and the Vulkan port vk1_gears. This command will download required dependencoes such as GLFW and build all of the examples:
cmake -G Ninja -B build cmake --build build
The host GLFW library can be used by overriding appropriate cmake options:
cmake -G Ninja -B build -DEXTERNAL_GLFW=OFF -DEXTERNAL_GLAD=OFF cmake --build build
./build/kitty_gears -s 512x512
x- toggle animation on/off
c- zoom in or out
z- rotate around Z-axis
d- rotate around X-axis and Y-axis