Open-source graphics software
2502 open-source libraries, tools and applications tagged graphics, ranked by how closely graphics is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
2502 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| dylanraga/win11hdr-srgb-to-gamma2.2-icm A project that provides ICM (ICC color profile) files to change Windows 11's virtual SDR-in-HDR tone curve from piecewise sRGB to Gamma 2.2… | 20 | 1014 | active |
| Kink3d/kShading kShading is a package of shaders for Unity's Universal Render Pipeline, offering a physically based Lit shader with anisotropy, clear coat,… | 23 | 1013 | active |
| LogicalError/realtime-CSG-for-unity Realtime-CSG is a Unity editor plugin providing constructive solid geometry (CSG) level design tools, letting developers build levels non-d… | 52 | 1012 | active |
| Rive Runtime Rive runtimes (rive-flutter, rive-react) are open-source client libraries for rendering and controlling Rive interactive animations (.riv f… | 100 | 1009 | active |
| openglonmetal/MGL MGL is a C++ library that implements OpenGL 4.6 and OpenGL ES 3.x on top of Apple's Metal API, mapping OpenGL state and draw calls to Metal… | 57 | 1009 | active |
| aras-p/UnityGaussianSplatting A Unity package implementing real-time visualization of 3D Gaussian Splatting models from the SIGGRAPH 2023 paper. It imports PLY and SPZ s… | 44 | 3419 | maintenance |
| miki151/keeperrl KeeperRL is an open-source roguelike dungeon simulation game inspired by Dungeon Keeper, where players control an evil keeper building dung… | 41 | 1008 | stable |
| Yamagi Quake II Yamagi Quake II is an enhanced, bug-fixed client for id Software's Quake II focused on offline and coop gameplay while preserving the origi… | 76 | 1007 | stable |
| alibaba/GGEditor GGEditor is a React-based visual graph editor library built on AntV G6. It provides ready-made components for building flowchart and mind-m… | 32 | 3408 | maintenance |
| X0nk/Bliss-Shader Bliss is a Minecraft shader pack written in GLSL, an extensively customized edit of Chocapic13's v9 shader. It emphasizes dynamic, varied l… | 76 | 1005 | active |
| Torque 3D Torque 3D is an MIT-licensed open source C++ game engine from GarageGames, originally used for titles ranging from driving simulators to MM… | 23 | 3366 | maintenance |
| bgstaal/multipleWindow3dScene A demo application showing how to synchronize a Three.js 3D scene across multiple browser windows using localStorage for shared state. It i… | 27 | 18912 | experimental |
| mmin18/RealtimeBlurView An Android library providing a realtime blurring overlay view, similar to iOS's UIVisualEffectView. It is added directly in layout XML with… | 32 | 3309 | maintenance |
| kiliman/operator-mono-lig A project that generates OpenType versions of the commercial Operator Mono font with programming ligatures similar to Fira Code, including … | 53 | 3296 | maintenance |
| FontCustom/fontcustom Font Custom is a Ruby command-line tool that compiles a collection of SVG files into cross-browser icon webfonts, generating the font files… | 56 | 3295 | maintenance |
| cryinkfly/Autodesk-Fusion-360-for-Linux A shell-based installer that runs Autodesk Fusion 360 on Linux using Wine, with support for many distributions and graphics drivers. The Gi… | 10 | 3280 | maintenance |
| victorqribeiro/isocity IsoCity is a simple isometric city builder game written in JavaScript that runs in the browser. It has no simulation, budget, or goals - pl… | 23 | 3259 | maintenance |
| drawille A Python library for drawing pixel graphics in the terminal using Unicode braille characters, providing a Canvas API and a Turtle graphics … | 32 | 3257 | maintenance |
| ShapeOfView An Android library that lets developers apply custom shapes (circle, round rect, arc, diagonal, cutout, and more) to any Android view via X… | 33 | 3225 | maintenance |
| kciter/qart.js qart.js is a JavaScript library that merges pictures with QR codes to generate artistic, scannable QR codes rendered on canvas. It works in… | 32 | 3190 | maintenance |
| jasondu/wxa-plugin-canvas A WeChat Mini Program component that generates shareable poster images (e.g., for Moments sharing) rendered on canvas from simple JSON conf… | 23 | 3188 | maintenance |
| Croteam-official/Serious-Engine The open-source release of Serious Engine v1.10, the engine behind the classic Serious Sam games, including the game executable, editor too… | 32 | 3181 | maintenance |
| phy Oimo.js is a lightweight 3D physics engine written in pure JavaScript, a full conversion of the ActionScript OimoPhysics library. It provid… | 32 | 3178 | maintenance |
| adereth/dactyl-keyboard A parameterized generator for the Dactyl, a split-hand, concave, columnar ergonomic keyboard, written in Clojure that emits OpenSCAD models… | 32 | 3175 | maintenance |
| GI Model Importer GIMI is a modified version of 3DMigoto that enables importing custom character and weapon models into Genshin Impact. It includes loader to… | 65 | 3138 | maintenance |
| Gamua/Starling-Framework Starling is a hardware-accelerated 2D game engine written in ActionScript 3, built on Adobe AIR's Stage3D API. It mimics the classic Flash … | 73 | 3110 | maintenance |
| bradley/Blotter Blotter is a JavaScript library for rendering unconventional text effects in the browser using GLSL shaders through WebGL, without requirin… | 32 | 3081 | maintenance |
| methodofaction/Method-Draw Method Draw is a web-based vector drawing application that serves as a simple, easy-to-use SVG editor. It is a fork of SVG-Edit that intent… | 32 | 3021 | maintenance |
| ashima/webgl-noise A collection of GLSL procedural noise shader routines (simplex, classic Perlin, cellular, psrdnoise) compatible with WebGL. The functions a… | 32 | 3000 | maintenance |
| scottlawsonbc/audio-reactive-led-strip A real-time music visualizer that drives WS2812B LED strips using Python for audio capture and FFT-based signal processing, with an ESP8266… | 56 | 2987 | maintenance |
| dli/paint A browser-based fluid paint application that simulates fluid dynamics for realistic brush strokes, built with WebGL in JavaScript. It is th… | 32 | 2982 | maintenance |
| google/gif-for-cli A Python command-line tool that converts GIFs, short videos, or Tenor API queries into animated ASCII art rendered in the terminal using AN… | 10 | 2948 | maintenance |
| jdan/isomer Isomer is a small JavaScript library for drawing isometric graphics on HTML5 canvas. It provides simple primitives like prisms, pyramids, p… | 23 | 2906 | maintenance |
| mkkellogg/GaussianSplats3D A Three.js-based renderer for 3D Gaussian splatting scenes, viewable in real time in the browser. It supports .ply, .splat, and a custom co… | 43 | 2894 | maintenance |
| sxyu/svox2 Official PyTorch/CUDA implementation of Plenoxels, a method for optimizing sparse voxel radiance fields for novel view synthesis without ne… | 32 | 2890 | maintenance |
| GPUImage GPUImage is a BSD-licensed framework for GPU-accelerated image and video processing on iOS and Mac, letting developers apply filters and ef… | 32 | 2876 | maintenance |
| apitrace/apitrace apitrace is a set of tools for tracing OpenGL, OpenGL ES, Direct3D, and DirectDraw API calls to a file, then replaying and inspecting them.… | 76 | 2867 | maintenance |
| chandlerprall/Physijs Physijs is a physics plugin for the Three.js 3D graphics library, built on top of ammo.js (with a cannon.js branch). It runs physics simula… | 32 | 2860 | maintenance |
| saitoha/libsixel libsixel is a C library providing an encoder and decoder for the DEC SIXEL graphics format, along with converter tools like img2sixel that … | 81 | 2851 | maintenance |
| steveruizok/perfect-arrows A small TypeScript library of functions that compute the geometry (points, angles, arcs) needed to draw arrows between points or rectangles… | 32 | 2848 | maintenance |
| keijiro/KinoGlitch KinoGlitch is a collection of glitch video post-processing effects for Unity, offering analog glitch (scan line jitter, color drift, vertic… | 32 | 2815 | maintenance |
| phoboslab/Ejecta Ejecta is an open source runtime for iOS and tvOS that provides a fast JavaScript (JavaScriptCore), Canvas 2D, WebGL, and audio environment… | 32 | 2808 | maintenance |
| mbebenita/Broadway Broadway.js is a JavaScript H.264 video decoder compiled from Android's native decoder with Emscripten, using WebGL for rendering and optio… | 23 | 2806 | maintenance |
| kwea123/nerf_pl An unofficial PyTorch implementation of NeRF (Neural Radiance Fields) and NeRF in the Wild built on pytorch-lightning, supporting multi-GPU… | 23 | 2800 | maintenance |
| FreyaHolmer/ShaderForge Shader Forge is a node-based shader editor plugin for Unity that lets users create shaders visually without writing code. This repository i… | 32 | 2787 | maintenance |
| zauonlok/renderer A shader-based software rasterizer written from scratch in C89 with minimal dependencies, featuring PBR, IBL, shadow mapping, and skeletal … | 23 | 2784 | maintenance |
| tensorflow/graphics TensorFlow Graphics is a library of differentiable graphics layers for TensorFlow, including differentiable renderers, spatial transformers… | 66 | 2782 | maintenance |
| yfeng95/face3d A lightweight Python library implementing core 3D face processing functions: 3D morphable model (3DMM) generation and fitting, mesh I/O, tr… | 32 | 2779 | maintenance |
| maierfelix/poxi Poxi is a flat pixel art editor that runs in the browser, built on a custom WebGL-based renderer with an undo/redo state machine. It is des… | 32 | 2777 | maintenance |
| Hopson97/MineCraft-One-Week-Challenge A Minecraft-like voxel game written in C++ with OpenGL and SFML, created as a one-week coding challenge documented in a video. It serves pr… | 42 | 2750 | maintenance |
| oakes/vim_cubed Vim³ is a novelty application that renders a fully functional Vim editor on the surface of a spinning 3D cube, built in Nim on top of parav… | 32 | 2733 | maintenance |
| tum-vision/lsd_slam LSD-SLAM is a real-time monocular SLAM system that uses direct (featureless) image alignment to build large-scale, semi-dense 3D maps from … | 32 | 2730 | maintenance |
| vchoutas/smplx A PyTorch implementation of SMPL-X, a unified parametric 3D model of the human body with fully articulated hands and an expressive face, al… | 32 | 2720 | maintenance |
| ondras/rot.js rot.js is a JavaScript/TypeScript toolkit for building roguelike games, providing dungeon generation, field-of-view, pathfinding, lighting,… | 23 | 2718 | maintenance |
| ecomfe/echarts-gl ECharts-GL is an extension pack for Apache ECharts that adds 3D plots, globe visualization, and WebGL acceleration. It integrates with ECha… | 73 | 2713 | maintenance |
| catsout/wallpaper-engine-kde-plugin A KDE Plasma plugin that integrates Wallpaper Engine wallpapers, enabling live and video wallpapers on the Linux desktop. The project has m… | 10 | 2709 | maintenance |
| veldrid/veldrid Veldrid is a low-level, portable graphics library for .NET that provides a unified, API-agnostic interface to the GPU for rendering and com… | 52 | 2701 | maintenance |
| schteppe/p2.js p2.js is a 2D rigid body physics engine written in JavaScript, providing collision detection, friction, restitution, springs, motors, and c… | 23 | 2688 | maintenance |
| SFTtech/openage openage is a free, open-source clone of the Genie Engine that powers Age of Empires I/II and Star Wars: Galactic Battlegrounds, built with … | 66 | 14462 | experimental |
| sprang/Inkpad Inkpad is an open-source vector illustration application designed specifically for the iPad, supporting bezier paths, compound paths, text,… | 32 | 2647 | maintenance |
| uber/react-digraph A React component library for building interactive directed graph editors with built-in SVG rendering and event handling. It provides a Gra… | 23 | 2644 | maintenance |
| Humpheh/goboy GoBoy is a multi-platform Nintendo Game Boy and Game Boy Color emulator written in Go, with colour and sound support. It was built primaril… | 67 | 2636 | maintenance |
| patriciogonzalezvivo/glslEditor A browser-based GLSL fragment shader editor built on CodeMirror, embeddable in web pages or usable as a standalone web app. It integrates w… | 23 | 2620 | maintenance |
| huiyan-fe/mapv Mapv is an open-source JavaScript library for geographic information visualization, built on canvas. It renders large volumes of point, lin… | 58 | 2609 | maintenance |
| yuanming-hu/taichi_mpm A high-performance C++ implementation of the Moving Least Squares Material Point Method (MLS-MPM) with cutting and two-way rigid body coupl… | 23 | 2590 | maintenance |
| nschloe/tikzplotlib A Python library that converts matplotlib figures into TikZ/PGFPlots code for native inclusion in LaTeX or ConTeXt documents. It preserves … | 23 | 2581 | maintenance |
| cburgmer/rasterizeHTML.js A JavaScript library that renders HTML into the browser's canvas element by embedding it in an SVG foreignObject and drawing it via drawIma… | 51 | 2555 | maintenance |
| HackerPoet/MarbleMarcher Marble Marcher is a video game demo built on a fractal physics engine with fully procedural rendering, where players roll a marble across r… | 32 | 2554 | maintenance |
| LazoVelko/Windows-Hacks A Windows application showcasing creative and unusual manipulations of other windows via the Windows API, written in C#. It includes tricks… | 32 | 2539 | maintenance |
| Flare A Flutter runtime library for loading and controlling Rive (formerly Flare) vector animation files in Flutter apps. This is the legacy Rive… | 32 | 2533 | maintenance |
| hujiulong/vue-3d-model A Vue.js component for displaying 3D models in the browser using WebGL and Three.js. It supports Vue 3 with a v1 branch available for Vue 2. | 23 | 2522 | maintenance |
| Zomato/AndroidPhotoFilters PhotoFiltersSDK is an Android image processing library that applies filters like tone curves, saturation, contrast, brightness, vignette, a… | 23 | 2514 | maintenance |
| LingDong-/fishdraw A single-file, dependency-free JavaScript library and CLI that procedurally generates drawings of imaginary fish as polylines. It outputs S… | 32 | 2504 | maintenance |
| TheMozg/awk-raycaster A pseudo-3D dungeon shooter written entirely in gawk, using raycasting to render Wolfenstein 3D-style graphics in the terminal. It runs as … | 32 | 2472 | maintenance |
| korbinjoe/excalidraw-cn A fork of Excalidraw, a virtual whiteboard application, that adds Chinese handwriting-style fonts and multi-canvas support. It runs as a we… | 30 | 2467 | maintenance |
| wagerfield/flat-surface-shader A lightweight JavaScript library implementing a flat surface shader that renders illuminated triangles using Lambertian reflectance. It sup… | 32 | 2465 | maintenance |
| Hazel Engine Hazel is an early-stage interactive application and 2D/3D rendering engine written in C++, primarily targeting Windows. It is developed ope… | 32 | 13108 | experimental |
| sinclairzx81/zero Zero is a 3D software renderer written in JavaScript/TypeScript that renders output to the terminal via Node.js stdout, requiring no GPU. I… | 70 | 2459 | maintenance |
| Direct Sparse Odometry DSO (Direct Sparse Odometry) is a C++ library implementing monocular visual odometry using direct sparse methods with photometric calibrati… | 32 | 2459 | maintenance |
| strasdat/Sophus Sophus is a C++ template library implementing 2D and 3D Lie groups (SO(2), SO(3), SE(2), SE(3)) built on top of Eigen, commonly used for ge… | 23 | 2455 | maintenance |
| Hextris/hextris Hextris is a fast-paced HTML5 puzzle game inspired by Tetris, built in JavaScript and playable in the browser. It was created in 2014 by a … | 23 | 2441 | maintenance |
| cristicbz/rust-doom A Doom 1 & 2 level renderer written in Rust using modern OpenGL 3+ shaders and VBOs. It is an idiomatic Rust reimplementation of the Doom r… | 32 | 2418 | maintenance |
| NVIDIAGameWorks/PhysX-3.4 NVIDIA PhysX SDK 3.4, a real-time physics simulation engine for games and other applications, including rigid body dynamics, collision dete… | 23 | 2418 | maintenance |
| Rajawali Rajawali is a 3D rendering engine for Android built on OpenGL ES 2.0/3.0 and written in Java. It provides a scene graph, cameras, materials… | 23 | 2414 | maintenance |
| keijiro/Kino Kino is a collection of custom post-processing effects for Unity's High Definition Render Pipeline (HDRP), written in C#. It includes effec… | 32 | 2412 | maintenance |
| Viro ViroReact is a framework for building augmented reality (AR) and virtual reality (VR) experiences using React Native, running natively on i… | 32 | 2402 | maintenance |
| ivansafrin/Polycode Polycode is a cross-platform C++ framework for creative coding that provides accelerated 2D and 3D graphics, hardware shaders, sound, netwo… | 23 | 2382 | maintenance |
| yqritc/RecyclerView-FlexibleDivider An Android library that simplifies drawing dividers between items in a RecyclerView via custom ItemDecoration implementations. It provides … | 23 | 2378 | maintenance |
| cruise-automation/webviz Webviz is a web-based application for playback and visualization of ROS bag files, with modular panels for 3D scenes, plots, and images. Th… | 32 | 2346 | maintenance |
| bytedance/AlphaPlayer AlphaPlayer is a video animation SDK from ByteDance's live-streaming team that plays videos with alpha (transparency) channels on mobile de… | 10 | 2342 | maintenance |
| Tangram Tangram is a JavaScript library for rendering 2D and 3D maps live in the browser using WebGL, tuned for OpenStreetMap but supporting GeoJSO… | 49 | 2334 | maintenance |
| RichPath An Android library for drawing and animating vector drawable paths, supporting path morphing and animation of any path attribute via RichPa… | 10 | 2331 | maintenance |
| nosir/obelisk.js A JavaScript library for building pixel isometric graphics (bricks, cubes, pyramids, slopes) on HTML5 canvas. It renders at the pixel level… | 23 | 2326 | maintenance |
| go-sdl2 Go bindings (via cgo) for the SDL2 multimedia library, including optional SDL2_image, mixer, ttf, and gfx. It lets Go programs create windo… | 23 | 2325 | maintenance |
| retroplasma/earth-reverse-engineering A reverse-engineering project documenting and implementing access to Google Earth's undocumented 3D satellite mode, including URL structure… | 10 | 2321 | maintenance |
| Encom Boardroom A WebGL/Three.js web application recreating the Encom boardroom scene from Tron: Legacy, visualizing realtime GitHub and Wikipedia data str… | 32 | 2320 | maintenance |
| Dynamic 3D Gaussians Official PyTorch implementation of 'Dynamic 3D Gaussians: Tracking by Persistent Dynamic View Synthesis' (3DV 2024), which models dynamic 3… | 29 | 2303 | maintenance |
| plattysoft/Leonids Leonids is a lightweight Java particle system library for the standard Android UI, letting developers add effects like explosions, fire, an… | 23 | 2279 | maintenance |
| Godot Heightmap Terrain A heightmap-based terrain plugin for the Godot game engine, implemented entirely in GDScript. It provides terrain sculpting, texture painti… | 71 | 2276 | maintenance |
| EzySlice EzySlice is an open-source mesh slicing framework for the Unity3D game engine, written entirely in C#. It slices convex meshes using a plan… | 23 | 2276 | maintenance |