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 |
|---|---|---|---|
| OneYoungMean/Automatic-DynamicBone A free, open-source Unity plugin that automatically generates physics-based bone cloth simulation (hair, skirts, tails) for skinned charact… | 32 | 1178 | maintenance |
| acgessler/open3mod Open 3D Model Viewer (open3mod) is a Windows desktop application for quickly viewing and inspecting 3D model files, built on the Open Asset… | 23 | 1176 | maintenance |
| akiraux/Akira Akira is a native Linux desktop application for UI and UX design, built in Vala and GTK, targeting web and graphic designers. It aims to pr… | 46 | 5346 | experimental |
| amcharts/amcharts4 amCharts 4 is an advanced JavaScript and TypeScript charting library for the web, supporting 60+ chart types including XY charts, pie chart… | 52 | 1174 | maintenance |
| ibaaj/dijkstra-cartography A C++ tool that generates artistic maps by running Dijkstra's shortest-path algorithm over OpenStreetMap data, rendering the most-used rout… | 10 | 1173 | maintenance |
| daniilidis-group/neural_renderer A PyTorch port of the Neural 3D Mesh Renderer (CVPR 2018), providing differentiable rasterization of 3D meshes. It supports rendering from … | 32 | 1170 | maintenance |
| alexandre01/deepsvg Official PyTorch code for the NeurIPS 2020 paper 'DeepSVG: A Hierarchical Generative Network for Vector Graphics Animation'. It provides a … | 74 | 1166 | maintenance |
| nicholas-ochoa/OpenSC2K OpenSC2K is an open-source JavaScript remake of SimCity 2000 built with Phaser 3 and WebGL, capable of importing and viewing original .sc2 … | 99 | 5294 | experimental |
| Neural 3D Mesh Renderer A differentiable 3D mesh renderer implemented in Chainer, accompanying the CVPR 2018 paper 'Neural 3D Mesh Renderer'. It enables gradient-b… | 23 | 1164 | maintenance |
| Ovilia/Polyvia Polyvia is a JavaScript library that converts images and live webcam video into low-poly style artwork using triangulation. It provides bro… | 32 | 1163 | maintenance |
| EvanBacon/Expo-Crossy-Road A Crossy Road game clone built with Expo, React Native, and THREE.js that runs on iOS, Android, and the web. It is an open-source education… | 62 | 1160 | maintenance |
| Sprytile/Sprytile Sprytile Painter is a Blender add-on for building tile-based low-poly 3D scenes using paint/map-editor-like tools. It lets users construct … | 23 | 1159 | maintenance |
| BVE-Reborn/rend3 rend3 is an easy-to-use, customizable, and efficient 3D rendering library for Rust built on top of wgpu. It provides a modular ecosystem of… | 10 | 1157 | maintenance |
| hunterloftis/pbr A Physically Based Renderer (PBR) implemented as a Go library, providing a unidirectional CPU-only Monte Carlo path tracer. It includes a s… | 32 | 1155 | maintenance |
| Orillusion Orillusion is a pure Web3D rendering engine built entirely on the WebGPU standard, written in TypeScript. It aims to deliver desktop-level … | 81 | 5219 | experimental |
| Cornerstone.js Cornerstone Core is a lightweight JavaScript library for displaying medical images in modern web browsers using the HTML5 canvas element. I… | 94 | 1152 | maintenance |
| google/wwwbasic wwwBASIC is an implementation of the BASIC programming language that compiles to JavaScript and runs in the browser or Node.js. It supports… | 59 | 1151 | maintenance |
| jbox2d/jbox2d JBox2d is a native Java port of the C++ Box2D and LiquidFun 2D physics engines, providing rigid body simulation, joints, continuous collisi… | 32 | 1150 | maintenance |
| hecrj/coffee Coffee is an opinionated 2D game engine for Rust focused on simplicity, explicitness, and type-safety. It provides a hardware-accelerated 2… | 23 | 1148 | maintenance |
| duanhong169/DrawableToolbox A Kotlin library for Android that lets developers create drawables (shape, rotate, scale, ripple, layer-list, flip) programmatically via a … | 23 | 1146 | maintenance |
| Shiriluz/Word-As-Image Official implementation of the Word-As-Image semantic typography technique (SIGGRAPH 2023), which automatically illustrates letters so they… | 31 | 1145 | maintenance |
| ChillingVan/android-openGL-canvas An Android library providing OpenGL-based canvas views (GLView, GLTextureView, GLContinuousView) that let you draw bitmaps, animations, and… | 23 | 1141 | maintenance |
| iryoku/smaa SMAA is a GPU-based subpixel morphological antialiasing implementation for DX9, DX10, DX11, and OpenGL, published as shader code (HLSL/GLSL… | 32 | 1137 | maintenance |
| sirxemic/jquery.ripples A jQuery plugin that adds an interactive water ripple effect to HTML element background images using WebGL. It simulates ripples triggered … | 23 | 1135 | maintenance |
| cadenji/foolrenderer A tiny software renderer written in C from scratch without any graphics API, designed to demonstrate real-time rendering techniques like ra… | 32 | 1133 | maintenance |
| ading2210/linuxpdf LinuxPDF is a PDF file that runs a full Linux system inside a RISC-V emulator (based on TinyEMU) compiled to asm.js and executed via the Ja… | 21 | 5104 | experimental |
| liminalpurr/jizhi Jizhi is a Chrome/Firefox/Edge browser extension that replaces the new tab page with animated layered noise waves rendered in traditional C… | 23 | 1129 | maintenance |
| FabianTerhorst/Isometric An Android library for drawing isometric shapes and paths in a custom view. It supports primitives like prisms, cylinders, pyramids, and pa… | 23 | 1128 | maintenance |
| TransitApp/SVPulsingAnnotationView A customizable Objective-C replica of Apple's MKUserLocationView for iOS MapKit, drawn entirely with Core Graphics. It renders a pulsing ha… | 32 | 1127 | maintenance |
| trebonian/visual6502 A browser-based transistor-level simulator of the 6502 (and 6800) microprocessors, originally from visual6502.org. It includes a general-pu… | 32 | 1127 | maintenance |
| renaudcerrato/ToggleDrawable An Android library for creating animated drawable transitions using bezier curves, with a minimal API. It ships ready-made drawables like s… | 23 | 1121 | maintenance |
| methusalah/SplineMesh SplineMesh is a Unity plugin for creating curved content in real time using Bézier splines. It provides a general spline component, mesh be… | 32 | 1118 | maintenance |
| mitsuba-renderer/mitsuba Mitsuba is a research-oriented physically based rendering system written in portable C++, inspired by PBRT. It implements unbiased and bias… | 32 | 1116 | maintenance |
| dli/waves A WebGL-based ocean wave simulation with a CSS 3D UI, running in the browser. It renders realistic ocean waves using GPU shaders. | 32 | 1114 | maintenance |
| mapbox/webgl-wind A WebGL-powered library for visualizing wind data as GPU-accelerated particle animations, capable of rendering up to 1 million particles at… | 72 | 1112 | maintenance |
| phoboslab/underrun Underrun is a twin-stick shooter game written in 13kb of JavaScript using WebGL, created as an entry for the 2018 js13k competition. It is … | 32 | 1109 | maintenance |
| p-e-w/ternimal Ternimal is a Rust program that renders an animated, glowing lifeform in the terminal using Unicode block symbols, with many command-line p… | 23 | 1109 | maintenance |
| benvanik/WebGL-Inspector WebGL Inspector is an advanced debugging toolkit for WebGL applications, inspired by tools like gDEBugger and PIX. It can be embedded in an… | 32 | 1108 | maintenance |
| antimatter15/jsgif A pure JavaScript library that encodes HTML5 canvas content (single frames or animations) into GIF images, ported from the ActionScript as3… | 32 | 1106 | maintenance |
| danielshervheim/unity-stylized-water A stylized/toon water shader with material presets for the Unity game engine. It provides drop-in materials that can be applied to water pl… | 23 | 1105 | maintenance |
| Dandarawy/UnityBookPageCurl A Unity package that implements a book page curl/flip effect using Unity's native UGUI 2D tools. It supports left-to-right and right-to-lef… | 23 | 1102 | maintenance |
| hongfz16/AvatarCLIP Official PyTorch implementation of AvatarCLIP, a SIGGRAPH 2022 research framework that generates and animates 3D human avatars from natural… | 32 | 1101 | maintenance |
| GPUOpen-LibrariesAndSDKs/RadeonRays_SDK RadeonRays is a ray intersection acceleration library developed by AMD, providing a C API for scene building and asynchronous ray intersect… | 23 | 1101 | maintenance |
| flibitijibibo/SDL2-CS SDL2# is a C# wrapper (P/Invoke bindings) for the SDL2 multimedia library and its extensions (SDL2_gfx, SDL2_image, SDL2_mixer, SDL2_ttf). … | 10 | 1101 | maintenance |
| nmoehrle/mvs-texturing A C++ command-line application that textures 3D meshes reconstructed from multi-view stereo (MVS) images, based on the ECCV 2014 paper 'Let… | 61 | 1100 | maintenance |
| natario1/ZoomLayout A Kotlin Android library providing 2D zoom and pan components for View hierarchies, images, and video streams, built around a flexible Matr… | 23 | 1099 | maintenance |
| MD360Player A lightweight Android library that renders 360-degree panorama video using OpenGL ES 2.0. It only handles rendering of video frames onto a … | 23 | 1096 | maintenance |
| lukasHoel/text2room Text2Room is a research codebase that generates room-scale textured 3D meshes from a text prompt by leveraging pre-trained 2D text-to-image… | 31 | 1093 | maintenance |
| exupero/saveSvgAsPng A browser-side JavaScript library that converts SVG elements to PNG images and downloads them, or returns them as data URIs. It supports sc… | 10 | 1093 | maintenance |
| evanw/webgl-filter A browser-based image editor built with WebGL that applies GPU-accelerated filters such as contrast adjustment, tilt-shift, and lens defocu… | 32 | 1092 | maintenance |
| endrift/gbajs GBA.js is a Game Boy Advance emulator written from scratch in JavaScript using HTML5 technologies like Canvas and Web Audio, with no plugin… | 10 | 1092 | maintenance |
| githubhaohao/OpenGLCamera2 An Android demo application that uses Camera2 API together with OpenGL ES 3.0 to render 30+ real-time camera filters and effects during pre… | 50 | 1089 | maintenance |
| Scrawk/Ceto Ceto is an ocean and water rendering system for the Unity game engine, providing realistic wave simulation and water surface effects. It is… | 32 | 1086 | maintenance |
| uhlik/bpy A collection of Python addons for Blender, most notably the Point Cloud Visualizer for displaying, editing, filtering, and rendering colore… | 32 | 1085 | maintenance |
| hexops/mach Mach is a Zig game engine and graphics toolkit for building high-performance, cross-platform games, visualizations, and desktop/mobile GUI … | 66 | 4850 | experimental |
| erincatto/box2d-lite Box2D-Lite is a small 2D rigid body physics engine written in C++, originally developed for the 2006 GDC Physics Tutorial. It is the minima… | 23 | 1077 | maintenance |
| eliasts/Ocean_Community_Next_Gen A community-driven ocean shader and water simulation package for Unity, featuring wave rendering, buoyancy, and boat physics with multiple … | 32 | 1076 | maintenance |
| DirectVoxGO DirectVoxGO (DVGO) is a PyTorch implementation of Direct Voxel Grid Optimization for fast neural radiance field (NeRF) reconstruction, repl… | 32 | 1075 | maintenance |
| Jcparkyn/dpoint D-POINT is an open-source digital stylus that achieves 6DoF input using camera-based ArUco marker tracking fused with inertial measurements… | 30 | 1075 | maintenance |
| HurTeng/StormPlane StormPlane (Desert Storm) is an open-source vertical-scrolling shoot-'em-up game for Android, inspired by Raiden and WeChat's plane game, b… | 23 | 1074 | maintenance |
| PavelDoGreat/Super-Blur A Unity library providing screen and UI gaussian blur effects via camera post-processing scripts and shaders. It offers two implementations… | 32 | 1073 | maintenance |
| mcxtzhang/PathAnimView An Android custom View library for animating Path objects, supporting effects like gradual fill and StoreHouse-style flowing animations. It… | 32 | 1072 | maintenance |
| LeiQiaoZhi/Easy-Text-Effects-for-Unity An open-source Unity package for animating TextMeshPro text with customizable effects such as per-vertex animations. It offers ScriptableOb… | 50 | 1070 | maintenance |
| assaultcube/AC AssaultCube is a free, open-source multiplayer first-person shooter game built on the Cube engine, featuring fast arcade gameplay in realis… | 50 | 1069 | maintenance |
| harjot-oberai/Long-Shadows An Android library for efficiently generating and rendering long shadows for any type of view, including custom views. Heavy calculations a… | 32 | 1066 | maintenance |
| chengkehan/GPUSkinning A Unity library that replaces Unity's built-in CPU bone animation with custom GPU skinning, storing bone matrices in textures or compute bu… | 23 | 1065 | maintenance |
| alexjlockwood/kyrie Kyrie is a Kotlin library that provides a superset of Android's VectorDrawable and AnimatedVectorDrawable, supporting pause/resume/seek, ru… | 10 | 1065 | maintenance |
| tony-pizza/Stereogram.js A JavaScript library for generating autostereogram images (SIRDS, popularized as Magic Eye) in the browser using HTML5 Canvas. It renders s… | 32 | 1064 | maintenance |
| galnetwen/Live2D A packaged Live2D widget for embedding an animated anime-style mascot ('kanban musume') character on blog or website pages, based on a tuto… | 32 | 1064 | maintenance |
| simonfuhrmann/mve MVE (The Multi-View Environment) is a C++ library and toolset implementing a complete end-to-end pipeline for image-based 3D geometry recon… | 67 | 1061 | maintenance |
| flyover/imgui-js JavaScript/TypeScript bindings for Dear ImGui, compiled to WebAssembly via Emscripten, enabling immediate-mode GUI rendering in the browser… | 32 | 1061 | maintenance |
| Glyphr Studio Glyphr Studio v1 is a free, web-based font editor aimed at hobbyists and typeface design beginners, offering vector glyph editing, kerning,… | 10 | 1061 | maintenance |
| gorhill/Javascript-Voronoi A standalone JavaScript library implementing Steven Fortune's algorithm to efficiently compute Voronoi diagrams from a set of sites within … | 10 | 1059 | maintenance |
| zadvorsky/three.bas THREE.BAS is a JavaScript extension for THREE.js that adds GPU-based animation via vertex shaders, storing animation state in geometry attr… | 23 | 1056 | maintenance |
| cdglabs/apparatus Apparatus is a hybrid graphics editor and programming environment for creating interactive diagrams, running entirely in the browser. It le… | 23 | 1054 | maintenance |
| ithewei/hplayer A multi-screen video player built with Qt, FFmpeg, OpenCV, and OpenGL that plays files, network streams, and capture devices in a configura… | 32 | 1043 | maintenance |
| imoreapps/ffmpeg-avplayer-for-ios-tvos A small Objective-C/C media player framework for iOS and Apple TV OS built on FFmpeg, supporting most audio/video formats and network strea… | 32 | 1042 | maintenance |
| AdultLink/RadialProgressBar A customizable radial progress bar shader for Unity3D that renders circular fill indicators with configurable arc range, colors, textures, … | 23 | 1042 | maintenance |
| SebLague/Hydraulic-Erosion A Unity project that simulates hydraulic erosion on heightmap terrains to make procedurally generated landscapes look more natural. It incl… | 32 | 1041 | maintenance |
| Silence-GitHub/BBMetalImage A high-performance Swift library for GPU-accelerated image and video processing built on Apple's Metal, inspired by GPUImage. It provides 8… | 32 | 1041 | maintenance |
| stathissideris/ditaa ditaa is a small Java command-line utility that converts diagrams drawn using ASCII art characters (like | / -) into proper bitmap graphics… | 23 | 1041 | maintenance |
| ajweeks/FlexEngine Flex Engine is a personal cross-platform game engine written in C++ with a Vulkan rendering backend, built as a playground for learning rea… | 66 | 1040 | maintenance |
| bramstein/typeset A JavaScript implementation of the Knuth and Plass (TeX) line breaking algorithm for optimally setting justified text in the browser. It pr… | 68 | 1039 | maintenance |
| yashbhalgat/HashNeRF-pytorch A pure PyTorch implementation of NVIDIA's Instant-NGP multi-resolution hash encoding for training NeRFs, built on top of NeRF-pytorch. It e… | 32 | 1036 | maintenance |
| mustache-dev/Mario-Kart-3.js A browser-based 3D kart racing game inspired by Mario Kart, written in JavaScript with WebGL rendering, shaders, and particle effects. It i… | 49 | 4582 | experimental |
| drawille A Node.js library for drawing in the terminal using Unicode braille characters, providing a minimal Canvas-like API (set, unset, toggle, cl… | 32 | 1031 | maintenance |
| tsulej/GenerateMe A collection of Processing (Java-based) scripts for creating generative glitch art, image distortion, and design effects. It includes dozen… | 32 | 1030 | maintenance |
| toineheuvelmans/Metron Metron is a Swift library that extends CoreGraphics 2D geometric primitives with a comprehensive collection of geometric functions and type… | 23 | 1030 | maintenance |
| keijiro/KinoBloom KinoBloom is a bloom/veiling glare image effect for Unity implemented as a shader-based post-processing effect. It offers configurable thre… | 23 | 1025 | maintenance |
| skywinder/GaugeKit GaugeKit is a Swift library for building custom gauges in iOS apps, including easy reproduction of Apple's style ring gauges. It supports I… | 32 | 1022 | maintenance |
| yiliansource/party-js party.js is a JavaScript/TypeScript library that adds customizable particle effects like confetti and sparkles to web pages. It ships with … | 66 | 1021 | maintenance |
| mntmn/amiga2000-gfxcard MNT VA2000 is an open source graphics card for Amiga 2000/3000/4000 computers, implemented in Verilog for a Xilinx Spartan 6 FPGA on a Zorr… | 32 | 1019 | maintenance |
| PRBonn/semantic_suma SuMa++ is a C++ implementation of efficient LiDAR-based semantic SLAM that builds 3D semantic maps from laser range scans, combining the Su… | 32 | 1019 | maintenance |
| iddan/react-native-canvas A React Native component that provides an HTML5-like Canvas API for drawing 2D graphics in mobile apps, implemented via a WebView bridge. I… | 32 | 1017 | maintenance |
| Nibre/MotherVR MotherVR is a mod that adds native virtual reality support to the game Alien: Isolation. It installs as a dxgi.dll in the game folder and p… | 23 | 1017 | maintenance |
| torrinworx/Blend_My_NFTs Blend_My_NFTs is a free, open-source Blender add-on that automatically generates thousands of 3D models, images, and animations from user-d… | 23 | 1017 | maintenance |
| tobspr/RenderPipeline A deferred rendering pipeline with physically based shading for the Panda3D game engine, written in Python and GLSL. It provides advanced p… | 61 | 1013 | maintenance |
| fylz1125/ShaderDemos A collection of custom GLSL shaders and a shader framework for Cocos Creator 2.x, with prebuilt visual effects that can be attached to node… | 32 | 1012 | maintenance |
| 17cupsofcoffee/tetra Tetra is a simple 2D game framework written in Rust, using SDL for events and OpenGL 3.2+ for rendering. It offers an XNA/MonoGame-inspired… | 73 | 1011 | maintenance |
| lethal-guitar/RigelEngine A modern C++ re-implementation of the classic 1993 DOS game Duke Nukem II, acting as a drop-in replacement for the original executable by r… | 66 | 1010 | maintenance |