Open-source graphics software
2100 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.
2100 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| sebpiq/WebPd WebPd is a compiler for the Pure Data audio programming language that lets you run .pd patches in web pages. It converts patches into plain… | 69 | 1003 | 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 |
| NVlabs/eg3d Official PyTorch implementation of EG3D, an efficient geometry-aware 3D generative adversarial network from NVIDIA Research (CVPR 2022). It… | 32 | 3336 | 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 |
| 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 |
| Rush/Font-Awesome-SVG-PNG A Node.js CLI tool that splits Font Awesome into individual SVG and PNG icon files at various sizes and colors, with pre-generated black an… | 23 | 3228 | 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 |
| 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 |
| JuanPotato/Legofy Legofy is a Python CLI program that transforms static images and GIFs so they appear to be built out of 1x1 LEGO bricks, using palettes bas… | 32 | 3176 | maintenance |
| Optick Optick is a lightweight C++ profiler designed for games, offering instrumentation, context-switch tracking, sampling, and GPU counters. It … | 23 | 3162 | maintenance |
| PSD.rb PSD.rb is a Ruby library for parsing Adobe Photoshop (PSD) files. It exposes the document as a manageable tree structure with access to lay… | 23 | 3115 | 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 |
| Avataaars A web-based React application for generating cartoon-style personal avatars based on the Avataaars illustration set by Pablo Stanley. Users… | 32 | 2993 | 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 |
| AugustRush/Stellar Stellar is a Swift physics-based animation library for iOS built on top of UIDynamics, offering friendly chainable APIs for view and layer … | 32 | 2939 | 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 |
| YouXianMing/Animations A collection of iOS animation components and effects written in Objective-C. It provides ready-made animated UI elements demonstrated throu… | 32 | 2885 | maintenance |
| geftimov/android-pathview An Android custom view library that animates SVG paths or programmatically constructed Path objects with configurable color, width, and tim… | 23 | 2883 | 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 |
| jondot/react-flight React Flight is a React library for building animation compositions by defining start and end frames; it interpolates between them automati… | 32 | 2801 | 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 |
| daybrush/scenejs Scene.js is a JavaScript and CSS timeline-based animation library for creating animated websites with keyframes and full time control. It s… | 23 | 2773 | 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 |
| 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 |
| flavioarfaria/KenBurnsView An Android library providing a drop-in ImageView extension that animates images with the Ken Burns Effect (slow pan and zoom). It supports … | 23 | 2717 | maintenance |
| kochrt/qr-designer A Nuxt-based web app for designing QR codes with arbitrary artwork in the middle section. It deterministically toggles pixels in the QR pat… | 30 | 2712 | 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 |
| glomadrian/Grav Grav is an Android library for creating configurable point-based animations using composable generators for points, drawing, colors, and an… | 32 | 2684 | maintenance |
| sprang/Inkpad Inkpad is an open-source vector illustration application designed specifically for the iPad, supporting bezier paths, compound paths, text,… | 32 | 2647 | maintenance |
| Touchwonders/Transition A Swift library that simplifies building custom, interactive, and interruptible iOS view controller transitions. It lets developers define … | 23 | 2624 | 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 |
| fSpy fSpy is an open source, cross-platform desktop app for still image camera matching, computing camera parameters from a reference image. It … | 23 | 2601 | 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 |
| 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 |
| yfeng95/DECA DECA is the official PyTorch implementation of a SIGGRAPH 2021 method that reconstructs a detailed 3D head model (pose, shape, facial detai… | 32 | 2524 | 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 |
| 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 |
| 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 |
| daimajia/AnimationEasingFunctions An Android library implementing Robert Penner's easing functions for use with Android view animations via a Glider utility. It lets develop… | 23 | 2456 | 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 |
| icons8/titanic Titanic is a JavaScript library and icon set by Icons8 that renders animated vector icons in web pages using Lottie/Bodymovin JSON animatio… | 69 | 2434 | 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 |
| dmotz/oriDomi OriDomi is a zero-dependency JavaScript library that folds DOM elements like paper using CSS 3D transforms, with effects such as accordion,… | 32 | 2413 | 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 |
| alecthomas/entityx EntityX is a fast, type-safe Entity Component System (ECS) library for C++11 that decouples entity logic and data from entity objects. It p… | 36 | 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 |
| FlexMonkey/Filterpedia Filterpedia is an iPad application for exploring nearly all image filters provided by Apple's Core Image framework, with adjustable paramet… | 32 | 2319 | 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 |
| facebookresearch/frankmocap FrankMocap is a single-view 3D motion capture system from Facebook AI Research that estimates 3D pose for body, hands, and whole body (body… | 10 | 2294 | maintenance |
| glslify A node.js-style module system for GLSL shaders, letting you import shader modules from npm and compile them into a single shader file. It s… | 23 | 2287 | 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 |
| patriciogonzalezvivo/glslCanvas GlslCanvas is a JavaScript library that loads GLSL fragment and vertex shaders onto HTML canvas elements using WebGL. It handles WebGL cont… | 23 | 2275 | maintenance |
| MikeFricker/StreetMap An Unreal Engine plugin that imports OpenStreetMap XML (.osm) data as a StreetMap asset type and renders streets and buildings in 3D. It in… | 32 | 2272 | maintenance |
| wdas/brdf Disney BRDF Explorer is a desktop application for developing, loading, and analyzing bidirectional reflectance distribution functions (BRDF… | 32 | 2268 | maintenance |
| googlevr/tilt-brush The open-source release of Google's Tilt Brush, a virtual reality painting application built in Unity/C#. It lets users paint in 3D space w… | 10 | 2264 | maintenance |
| Fooidge/PleaseJS PleaseJS is a small JavaScript library that generates random aesthetically pleasing colors and color schemes using the HSV color space and … | 23 | 2263 | maintenance |
| ajstarks/svgo SVGo is a Go library for programmatically generating SVG (Scalable Vector Graphics 1.1) documents, writing output to any io.Writer. It supp… | 32 | 2251 | maintenance |
| Yalantis/Horizon Horizon is an Android library that renders a smooth, animated visual equalizer of live audio using OpenGL ES and C++ sound analysis. It dra… | 32 | 2245 | maintenance |
| google/gapid GAPID is a collection of tools for recording, inspecting, tweaking, and replaying calls made by an application to a graphics driver, suppor… | 23 | 2239 | maintenance |
| anopara/genetic-drawing A Python toy project that uses a genetic algorithm to progressively draw a target image with brushstrokes, producing animated drawing seque… | 32 | 2226 | maintenance |
| pmndrs/racing-game An open-source browser-based racing game built with React and react-three-fiber, serving as a showcase for using React semantics in game de… | 32 | 2220 | maintenance |
| ashawkey/torch-ngp A PyTorch implementation of instant-ngp's NeRF and SDF components with CUDA extensions and an interactive GUI for training and visualizatio… | 32 | 2210 | maintenance |
| manuhabitela/drawingboard.js A lightweight JavaScript library that adds a canvas-based drawing board to any website, with controls like a color picker, pencil, eraser, … | 10 | 2204 | maintenance |
| mkeeter/antimony Antimony is a computer-aided design (CAD) application with a node-based, scriptable workflow, described as CAD from a parallel universe whe… | 40 | 2190 | maintenance |
| GPUOpen-Effects/FidelityFX-FSR AMD FidelityFX Super Resolution (FSR 1.0) is an open-source spatial upscaling solution that produces high-resolution frames from lower-reso… | 23 | 2187 | maintenance |