Skip to content

Latest commit

 

History

History
1196 lines (1136 loc) · 116 KB

README.md

File metadata and controls

1196 lines (1136 loc) · 116 KB

OpenGraphic

Graphic Engine & Game Engine open source list!

Contents

Official

Official

Engine

Engine    EnginePlugin    OfflineEngine    SoftRenderer    RenderingDesign

Rendering

GI    VolumeRendering    PostProcessing    Stylize    Transparency    VFX    Standard Format

Emulation

Material    Environment       Camera

Optimization

Acceleration    SpatialDataStructures    RenderPath

Util

Util    SDF    Math    Image&Color    Noise    Mesh    Platform    UI

Tools

Tools

Tutorial

SDK&Tutorial

Other

Physics    Animation    Particle   


Official

Engine

Engine Plugin

  • Graphics Unity Graphics - Including Scriptable Render Pipeline
  • armory -3D Game Engine for Blender
  • RenderPipeline -PBR and Deferred Rendering for the Panda3D game engine
  • ray-mmd physically-based rendering at mikumikudance

Offline Engine

Soft Renderer

  • OpenSWR A High Performance, Highly Scalable Software Rasterizer for OpenGL
  • miaow An open source GPU based off of the AMD Southern Islands ISA.
  • tinyrenderer A brief computer graphics / rendering course
  • coco3d Coco3D is a real-time 3D software renderer for Windows PCs and mobile devices
  • muli3d implements features of current graphics hardware in software. The focus is on ease of use and clear code
  • swiftshader high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs
  • mesa 👍 https://www.mesa3d.org
  • renderer A shader-based software renderer written from scratch in C89 https://zauonlok.github.io/renderer/
  • SoftwareRenderer Software rendering engine with PBR. Built from scratch on C++.
  • Tyler Tile-based SW rasterizer
  • RetroWarp The GPU is implemented with "pure" software rendering
  • SoftRas Project page of paper "Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning"
  • grr Gpu Renderer and Rasterizer - for python
  • virglrenderer VirGL virtual OpenGL renderer
  • AMDVLK AMD Open Source Driver For Vulkan
  • open-gpu-kernel-modules NVIDIA Linux open GPU kernel module source
  • EmberGL A low-level open source graphics library, similar to OpenGL/DirectX/Vulkan, designed for real-time 2D/3D rendering on MCUs and other memory constrained non-GPU systems

Rendering Design

  • DataDrivenRendering Data Driven Rendering repository
  • fg Rendering abstraction which describes a frame as a directed acyclic graph of render tasks and resources.
  • FrameGraph vulkan abstraction layer that represent frame as a task graph
  • graphene Vulkan render graph shenanigans

GI

Collection

  • IlluminationComparison A comparison of typical illumination methods. (SSAO, HBO, VXGI, and Ray Traced Global Illumination)
  • dirtchamber A mixed reality testing environment for real-time global illumination algorithms
  • DXR-Sandbox-GI Simple DirectX 12 toy framework for testing Global Illumination: Reflective Shadow Mapping, Light Propagation Volume, Voxel Cone Tracing, DXR

PRT

Irradiance Probes/Voxels

VPL

VSGL

  • VSGL Fast Indirect Illumination Using Two Virtual Spherical Gaussian Lights

RSM

Imperfect Shadow Maps

Instant Radiosity

LPV

VCT

  • Nigiri A fully-dynamic voxel-based global illumination system for Unity.
  • SEGI Almost real-time Global Illumination for Unity.
  • Unity-SRP-VXGI Voxel-based Global Illumination using Unity Scriptable Render Pipeline.
  • VCTRenderer Deferred voxel shading for real-time global illumination. https://jose-villegas.github.io/post/deferred_voxel_shading/
  • voxel-cone-tracing A real-time global illumination implementation using voxel cone tracing.
  • VoxelConeTracingGI Global illumination with Voxel Cone Tracing in fully dynamic scenes using a 3D clipmap to support huge areas around the camera while maintaining a low memory footprint.
  • Vulkan-VXGI-VR-FrameWork University of Pennsylvania, CIS 565: GPU Programming and Architecture, Final Project
  • MAGE Game and rendering engine featuring both forward and deferred PBR (physically-based rendering) pipelines with optional indirect illumination using Voxel Cone Tracing.
  • VoxelConeTracing An implementation of the "Voxel Cone Tracing" global illumination technique proposed by Cyril Crassin
  • VCTGI GPU-based real-time global illumination renderer based on voxel cone tracing
  • DXE A voxel cone traced realtime Global Illumination rendering engine in dx12, wip
  • Voxel_Cone_Tracing Voxel-Cone-Tracing easy to understand

SSGI

  • SSGI-URP Screen Space Global Illumination for Unity Universal Render Pipeline
  • FSSGI Fast Screen Space Global Illumination

DFGI

Lighting Grid

  • LGHDemo Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo

Point Based GI

  • PBGI Point Based Global Illumination

Radiosity

Ray tracing

Path tracing

RTX

  • Q2RTX NVIDIA’s implementation of RTX ray-tracing in Quake II zyanidelab/Q2RTX
  • Quartz Physically based Vulkan RTX path tracer with a declarative ES7-like scene description language.
  • DXRPathTracer A (very) simple path tracer implemented using DirectX Ray Tracing (DXR)
  • WispRenderer RTX Ray Tracing Renderer, made by Y3 students at Breda University of Applied Science https://teamwisp.github.io
  • rtx-explore DirectX Raytracing Path Tracer
  • Kaguya This is a hobby project using DirectX 12 and DirectX RayTracing (DXR)
  • RayTracingInVulkan Implementation of Peter Shirley's Ray Tracing In One Weekend book using Vulkan and NVIDIA's RTX extension.
  • PBRVulkan Vulkan Real-time Path Tracer Engine
  • Helios Real-time unidirectional GPU path tracer using the cross-vendor Vulkan ray-tracing extensions.
  • vk_mini_path_tracer A beginner-friendly Vulkan path tracing tutorial in under 300 lines of C++.

ReSTIR

  • VolumetricReSTIRRelease SIGGRAPH Asia 2021 paper "Fast Volume Rendering with Spatiotemporal Reservoir Resampling"

Metropolis Light Transport

PhotonMapping

  • CPMFIGIOTVVD Correlated Photon Mapping for Interactive Global Illumination of Time-Varying Volumetric Data by Daniel Jönsson and Anders Ynnerman
  • SOPGI A VEX raytracer for SideFX Houdini with photon mapping global illumination and full recursive reflections and refractions
  • DXR-PhotonMapper An implementation of Photon Mapping using DXR

Ambient occlusion

Bent Normal

  • ssbn Screen Space Bent Normals

Radiosity Normal Mapping

  • GzRNM brings Radiosity Normal Mapping/Directional Light Mapping to Unity 3D!
  • SSbumpGenerator A GUI interface to a tool for generating SSBumps (Self Shadowed Bump Maps).

LightMap

  • lightmapper A C/C++ single-file library for drop-in lightmap baking. Just use your existing OpenGL renderer to bounce light!
  • seamoptimizer A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps.
  • BakingLab A D3D11 application for experimenting with Spherical Gaussian lightmaps
  • GPULightmass Luoshuang's GPULightmass for UE4
  • trianglepacker Triangle packer for light map
  • HDR_Lightmapper Implements a cycles based lightmapper with denoiser
  • The_Lightmapper Fast and easy baked GI Lightmaps for Blender and Cycles
  • LightmapperToy This project is a hobby lightmapper completely based on Houdini geometry nodes. Basically it grew out of a re-implementation of Matt's The Baking Lab with some modification.

MLGI

  • DeepIllumination Code and examples from our paper "Deep Illumination: Approximating Dynamic Global Illumination with Generative Adversarial Networks," by Manu Mathew Thomas and Angus Forbes

GI Simulation

Diffuse inter-reflection

Caustic

  • SC_Tracer photon mapping for global illumination and caustic
  • Crystal-Caustics Approximated crystal caustics effect in Unity.

Reflection

Refraction

Shadow

PostProcessing

Collection

AA

  • CMAA2 Conservative Morphological Anti-Aliasing 2.0
  • MSAAFilter MSAA and Temporal AA Sample
  • temporal Temporal Reprojection Anti-Aliasing for Unity 5.0+
  • TAA_Unity_URP Temporal Anti-Aliasing(TAA) for Unity’s Universal Render Pipeline
  • smaa SMAA: Subpixel Morphological Antialiasing, is a very efficient GPU-based MLAA implementation
  • smaaDemo Subpixel Morphological AntiAliasing OpenGL/Vulkan demo
  • SMAA SMAA in unity3D
  • SpecularAA A demo of various normal map filtering techniques for reducing specular aliasing
  • glsl-fxaa FXAA implementation for glslify in WebGL
  • Phone-wire AA
  • DLAA (DLAA) Directionally Localized antiAliasing
  • TAA-STAR C++/Vulkan Implementations of State of the Art Temporal Anti-Aliasing Techniques
  • UE4 DLSS DLSS Plugin for Unreal Engine

Denoising

Bloom

Tone Mapping

ImageProcess

Compression

Material

Shade Model

BSDF
SVBRDF
  • svbrdf-oculus materials from Two-Shot SVBRDF Capture for Stationary Materials by Aittala et al (2015).
  • Matmorpher Code repository for the EGSR 2021 paper MatMorpher: A Morphing Operator for SVBRDFs
  • DeepInverseRendering Deep Inverse Rendering for High-resolution SVBRDF Estimation from an Arbitrary Number of Images

BSSRDF

IBL

  • IBLBaker Light probe generation and BRDF authoring for physically based shading.
  • cmftStudio cross-platform open-source cubemap filtering tool.
  • Probulator Experimentation framework for probe-based lighting
  • PBR An implementation of physically based shading model & image based lighting in various graphics APIs.
  • IBLGGX Sample implementation of UE4/Frostbite image based lighting method based on GGX convolution of HDR environment maps.
  • IntegrateDFG DFG LUT generator
  • hyper3d-envmapgen Pre-filtered mipmapped radiance environment map generator that runs on WebAssembly.

AreaLight

  • LTC_BRDF_Fit BRDF fitting code for LTC Area Lights by Heitz et al.
  • ltc_code Code for "Real-Time Polygonal-Light Shading with Linearly Transformed Cosines"
  • rtswplusd Real-Time Shading with Polyhedral Lights using Silhouette Detection
  • BezierLightLTC An official implementation of the paper "Real-Time Shading of Free-Form Area Lights using Linearly Transformed Cosines".

Character

SSS

Skin

Eye

Hair

  • TressFX DirectX 11 library that provides convenient access to realistically rendered and simulated hair and fur
  • vkhr Real-Time Hybrid Hair Rendering using Vulkan™
  • WetaHair Implementation of "Importance Sampling for Physically-Based Hair Fiber Models"
  • libWetHair A Multi-Scale Model for Simulating Liquid-Hair Interactions http://libwethair.info

Colth

Silk

Fur

Glint

Nature

Water

Snow

Sand

  • JourneySand An Unity project to reproduce the sand rendering in Journey's style

Grass

Tree

Terrain

Cloud

Sky

Rain

  • Unity-Raindrops raindrops shader
  • RainDropEffect Rain Drop Effect2: Effective, Fast and Flexible Rain Distortion Effect for Unity
  • LensRain A screen-space lens rain effect using Unity's V2 Post-processing framework.
  • RainFX Natural Rain

Fire

  • fire A fire effect for Unity.
  • volumetric-fire Project for Computer Graphics course by Jaagup Kuhi, Siim Raudsepp and Andri Poolakese

Ice

Iridescent

Glass

Gem

Environment

VolumetricLight

FakeVolumetricLight

  • VolumetricTracer A simple way to render soft, volumetric bullet tracers in Unity. Only needs a unit cube and a material to render and supports instancing.

Atmospheric

Fog

Render Path

Camera

Physically Based Camera

DOF

  • HexBokehBlur Hexagonal Bokeh Blur
  • BokehDepthOfField Implementing Different Algorithms to mimic Bokeh Depth Of Field: A Physical Camera Effect created due to Focal Length, Aperture size, shape
  • VVDoFDemo

Lens

Standard Format

  • OpenShadingLanguage Advanced shading language for production GI renderers
  • glTF-SDK glTF-SDK is a Software Development Kit for glTF
  • cgltf Single-file glTF 2.0 loader and writer written in C99
  • fx-gltf A C++14/C++17 header-only library for simple, efficient, and robust serialization/deserialization of glTF 2.0
  • gltf-pipeline Content pipeline tools for optimizing glTF assets
  • glTFast Efficient glTF 3D import / export package for Unity
  • fastgltf A blazing fast C++17 glTF library powered by SIMD.
  • SharpGLTF glTF reader and writer for .NET Standard
  • USD Universal Scene Description http://www.openusd.org
  • MaterialX MaterialX is an open standard for transfer of rich material and look-development content between applications and renderers.
  • MDL NVIDIA Material Definition Language SDK
  • OpenMeshEffect OpenFX Mesh Effect API - A plug-in API for cross-software procedural mesh effects

Stylize

NPR

Low Poly

  • LowpolyOcean low polygon water effect working in Unity
  • Lowpoly-Water-Unity Low poly water with edge/shore blend. Similar to the awesome water in Monument Valley.
  • FlatShader A very simple shader which performs flatshading without the need for duplicating vertices when building the geometry.

Voxel

Volume Rendering

RayMarch

Point Clouds

  • PCL A standalone, large scale, open project for 2D/3D image and point cloud processing.
  • Pcx Point cloud importer & renderer for Unity
  • compute_rasterizer Rendering Point Clouds with Compute Shaders
  • potree WebGL point cloud viewer for large datasets
  • point2mesh Reconstruct Watertight Meshes from Point Clouds [SIGGRAPH 2020]

Shear-warp

Other

  • OpenVDB Sparse volume data structure and tools. OpenVDBForUnity
  • unreal-vdb This repo is a non-official Unreal plugin that can read OpenVDB and NanoVDB files in Unreal.
  • openvkl Intel® Open Volume Kernel Library (Intel® Open VKL) is a collection of high-performance volume computation kernels

Acceleration

Frustum Culling

PVS

  • kPortals A pre-calculated Portal visibility system for Unity.
  • CornerCulling Fast and Maximally Accurate Occlusion Culling

..

Bounding

  • bounding-mesh Implementation of the bounding mesh and bounding convex decomposition algorithms for single-sided mesh approximation

Soft Occlusion Culling

Hardware Occlusion Queries

Hierarchical-Z Buffer

Hierarchical Occlusion Map

GPU-Driven

Imposter

  • IMP billboard imposter baking for Unity
  • ImpostorBaker UE4 Plugin for generating Impostors for static meshes

LOD

  • Planet-LOD Planet Rendering: Adaptive Spherical Level of Detail based on Triangle Subdivision

HLOD

Meshlets

  • meshlete Chop 3D objects to meshlets
  • gl_vk_meshlet_cadscene This OpenGL/Vulkan sample illustrates the use of "mesh shaders" for rendering CAD models.

Spatial Data Structures

  • aardvark.algodat Aardvark.Algodat is part of the open-source Aardvark platform for visual computing, real-time graphics and visualization
  • Unity_GPUNearestNeighbor Spatial Hashing Algorithm with GPU Acceleration
  • HashDAG Interactively Modifying Compressed Sparse Voxel Representations
  • aabo Axis Aligned Bounding Octahedron
  • Transvoxel-XNA Transvoxel implementation in C# for XNA

Octree&Quadtree

  • UnityOctree A dynamic, loose octree implementation for Unity written in C#
  • NativeTrees Burst compatible Octree and Quadtree for Unity
  • NativeQuadtree A Quadtree Native Collection for Unity DOTS
  • ECS-Octree Unity ECS based octree.
  • ooc_svo_builder Out-Of-Core Construction of Sparse Voxel Octrees - reference implementation
  • SparseVoxelOctree A GPU SVO Builder using rasterization pipeline, a efficient SVO ray marcher and a simple SVO path tracer.

KDTree

  • KDTree Fast KDTree for Unity, with thread-safe querying.
  • KdTree A fast, generic, multi-dimensional Binary Search Tree written in C#
  • KNN Fast K-Nearest Neighbour Library for Unity DOTS

BVH

  • three-mesh-bvh A BVH implementation to speed up raycasting and enable spatial queries against three.js meshes.
  • bhh Bounding Halfspace Hierarchy
  • Fast-BVH A Simple, Optimized Bounding Volume Hierarchy for Ray/Object Intersection Testing
  • bvh A modern C++ BVH construction and traversal library
  • bvh BVH STAR in Japanese
  • bvh_article Code accompanying the blog post on bvh construction.
  • ComputeShaderBVHMeshHit Unity ComputeShader implementation of BVH(Bounding Volume Hierarchy) based mesh hit checking.

SDF

  • Discregrid A static C++ library for the generation of discrete functions on a box-shaped domain. This is especially suited for the generation of signed distance fields.
  • IsoMesh A group of related tools for Unity for converting meshes into signed distance field data, raymarching signed distance fields, and extracting signed distance field data back to meshes via surface nets or dual contouring.
  • SDFr Unity. ECS. Many rays intersect in triangles
  • MeshToSDF Unity. Computer Shader. JFD Generate SDF in realtime
  • Signed-Distance-Field-Generator Unity. Computer Shader. Find the nearest distance of the triangle
  • msdfgen Multi-channel signed distance field generator
  • Typogenic Signed-distance field text rendering for Unity
  • SDF Signed Distance Field Builder for Contour Texturing
  • SDFGen A simple commandline utility to generate grid-based signed distance field (level set) generator from triangle meshes
  • DeepSDF Learning Continuous Signed Distance Functions for Shape Representation
  • sdfu Signed Distance Field Utilities https://crates.io/crates/sdfu
  • mTec Rendering the World Using a Single Triangle:Efficient Distance Field Rendering
  • distance-occlusion A library of distance and occlusion generation routines
  • pb_CSG Constructive Solid Geometry (CSG) csg.js
  • rust_test 👍
  • snelly A system for physically-based SDF (signed distance field) pathtracing in WebGL
  • Signed Signed will be an GPL licensed editor and renderer for procedural Signed Distance Functions (SDFs).
  • sdf-explorer JCGT / I3D paper, "A Dataset and Explorer for 3D Signed Distance Functions".

Transparency

OIT

Optimization

Differentiable

  • redner Differentiable rendering without approximation.
  • nvdiffrast Nvdiffrast - Modular Primitives for High-Performance Differentiable Rendering.
  • jrender Jrender 2.0 (Jittor渲染库)

Math

  • Eigen ⭐ linear algebra: matrices, vectors, numerical solvers, and related algorithms. Eigen
  • MathGeoLib 👍 A C++ library for linear algebra and geometry manipulation for computer graphics
  • GeometricTools 👍 A collection of source code for computing in the fields of mathematics, geometry, graphics, image analysis and physics.
  • CGAL geometric algorithms in the form of a C++ library.
  • Mathfs 👍 Expanded Math Functionality for Unity
  • glm OpenGL Mathematics (GLM) https://glm.g-truc.net
  • cglm Highly Optimized Graphics Math (glm) for C
  • GEOS Geometry Engine
  • klein 👍 P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library https://jeremyong.com/klein
  • MTL Matrix Template Library, a linear algebra library for C++ programs.
  • DirectXMath DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps
  • polyscope A prototyping-oriented UI for geometric algorithms https://polyscope.run
  • geogram a programming library with geometric algorithms
  • geomc A c++ linear algebra template library
  • geometry3Sharp C# library for 2D/3D geometric computation, mesh algorithms, and so on
  • fastapprox Approximate and vectorized versions of common mathematical functions
  • hlslpp Math library using hlsl syntax with SSE/NEON support
  • vml C++17 GLSL-like vector and matrix math lib
  • mathfu C++ math library developed primarily for games focused on simplicity and efficiency. http://google.github.io/mathfu
  • mathnet-numerics Math.NET Numerics numerics.mathdotnet.com
  • Terathon-Math-Library C++ math library for 2D/3D/4D vector, matrix, quaternion, and geometric algebra.
  • MathUtilities 👍 A collection of some of the neat math and physics tricks that I've collected over the last few years.
  • just_math Just Math - A collection of pure math demos for computer graphics.

MathInShader

SH

Curve

  • tinyspline ANSI C library for NURBS, B-Splines, and Bézier curves with interfaces for C++, C#, D, Go, Java, Javascript, Lua, Octave, PHP, Python, R, and Ruby.
  • nurbs Non-Uniform Rational B-Splines (NURBS) of any dimensionality
  • BezierInfo-2 The development repo for the Primer on Bézier curves, https://pomax.github.io/bezierinfo

FFT

  • benchmarking-fft choosing FFT library
  • VkFFT Vulkan Fast Fourier Transform library
  • GLFFT A C++11/OpenGL library for the Fast Fourier Transform
  • dj_fft Header only FFT library

Sampling

  • SampleZoo Simple implementations of sampling patterns, with objective tests to compare them

Random

  • pcg-cpp PCG Random Number Generation

Image&Color

Noise

  • procedural-tileable-shaders Collection of tileable procedural textures such as: cellular noise, fbm, voronoi, perlin and other.
  • FastNoiseLite Fast Portable Noise Library - C# C++ C Java(Script) HLSL GLSL
  • FastNoise2 Modular node graph based noise generation library using SIMD, C++17 and templates
  • LibNoise.Unity libnoise Coherent noise library for Unity, a port of LibNoise
  • webgl-noise ⭐ Procedural Noise Shader Routines compatible with WebGL
  • Wombat An efficient texture-free GLSL procedural noise library
  • GPU-Noise-Lib Optimized GPU noise functions and utilities http://briansharpe.wordpress.com/
  • NoiseShader Noise shader library for Unity
  • OpenSimplex2 Successors to OpenSimplex Noise, plus updated OpenSimplex.
  • Accidental Noise Library generating Perlin noise and other forms of noise in a modular fashion.
  • VisualNoiseDesigner Visual Noise Designer for Unity
  • TileableVolumeNoise Collection of functions that can be used to generate tileable volume/3d noise. An exemple of volume noise functions that can be specifically used for clouds is also presented.
  • CloudNoiseGen A static utility class for Unity which handles generating and loading periodic, cloud-like (perlin-worley) 3D noise textures on the GPU.
  • BlueNoiseGenerator an implementation of a Siggraph 2016 paper "Blue-noise Dithered Sampling" by Iliyan Georgiev and Marcos Fajardo from Solid Angle
  • LowDiscBlueNoise generate 2D point sets which have both low discrepancy and Blue-Noise properties.
  • glsl-curl-noise CurlNoise
  • Noice Noise generator utility.
  • psrdnoise Tiling simplex flow noise in 2-D and 3-D compatible with GLSL 1.20 (WebGL 1.0) and above.

Computer Vision

  • OpenCV Open Source Computer Vision Library. C# Wrapper opencvsharp
  • unrealcv UnrealCV: Connecting Computer Vision to Unreal Engine

Image

  • bimg 👍 Image library.
  • OpenImageIO OpenImageIO http://www.openimageio.org
  • ImageSharp A cross-platform library for the processing of image files; written in C#
  • ImageMagick create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200)
  • ImageViewer HDR, PFM, DDS, KTX, EXR, PNG, JPG, BMP image viewer and manipulator
  • GIMP The GNU Image Manipulation Program
  • psd_sdk A C++ library that directly reads Photoshop PSD files.
  • hdrview High-dynamic range image viewer with an emphasis on examining and comparing images, and including minimalistic tonemapping capabilities.
  • Luminance HDR A complete workflow for HDR imaging.

VectorGraphics

  • vg-renderer A vector graphics renderer for bgfx, based on ideas from NanoVG and ImDrawList (Dear ImGUI)

TextureCompressed

  • nv_dds DDS image loader for OpenGL/ OpenGL ES2 http://paroj.github.io/nv_dds/
  • nvidia-texture-tools Texture processing tools with support for Direct3D 10 and 11 formats.
  • crunch Advanced DXTc texture compression and transcoding library http://binomial.info
  • unity-ycca-subsampling ChromaPack YCCA chroma subsampling technique
  • basis_universal ⭐ Basis Universal GPU Texture and Texture Video Compression Codec
  • bc7enc Single source file BC1-5 and BC7 encoders and BC1-5/7 decoders with MIT or Public Domain licenses
  • bcdec Small header-only C library to decompress any BC compressed image
  • astc-encoder This is the official repository for the Arm ASTC Encoder, a texture compressor for the Adaptive Scalable Texture Compression data format.
  • brotli_g_sdk Brotli-G SDK provides an improved lossless compression ratio with GPU decompression support than the standard Brotli compression algorithm maintained by the IETF (also known as RFC7932)
  • betsy Betsy aims to be a GPU compressor for various modern GPU compression formats such as BC6H, purposedly written in GLSL so that it can be easily incorporated into OpenGL and Vulkan projects.
  • Goofy Goofy - Realtime DXT1/ETC1 encoder
  • GPURealTimeBC6H Real-time BC6H compression on GPU
  • ISPCTextureCompressor ISPC Texture Compressor
  • tev High dynamic range (HDR) image comparison tool for graphics people with an emphasis on OpenEXR images.
  • KtxUnity 👍 Load KTX and Basis Universal textures at runtime
  • qoi The “Quite OK Image” format for fast, lossless image compression
  • libspng Simple, modern libpng alternative https://libspng.org/
  • fpng Super fast C++ .PNG writer/reader

Color

Mesh

IO

  • assimp A library to import and export various 3d-model-formats
  • open3mod Open 3D Model Viewer - A quick and powerful 3D model viewer
  • DirectXMesh DirectXMesh geometry processing library
  • OpenFBX Lightweight open source FBX importer
  • fast_obj Fast C OBJ parser

Subdivision

Simplification

Deform

  • Deform A framework for deforming meshes in the editor and at runtime in Unity.

DelaunayTriangulation

Hull

Delaunay&Destruction

  • unity-delaunay A Delaunay/Voronoi library for Unity, and a simple destruction effect
  • Boom.unity Destruction effect in unity
  • ScamScatter Open Source Real time procedural mesh destruction for Unity3D
  • unity-destruction An open-source script to destroy objects realistically in Unity3D.
  • OpenFracture Open source mesh slicing/fracturing utility for Unity

Slicer

Modeling

  • Dust3D 👍 a cross-platform 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one. https://dust3d.org/
  • meshlab MeshLab is mostly based on the mesh processing library VCGlib
  • Mesh-processing-library mesh processing techniques in computer graphics published at ACM SIGGRAPH in 1992–1998
  • pmp-library The Polygon Mesh Processing Library
  • PyMesh a rapid prototyping platform focused on geometry processing https://pymesh.readthedocs.io
  • trimesh Python library for loading and using triangular meshes.
  • libigl Simple C++ geometry processing library.
  • instant-meshes Interactive field-aligned mesh generator
  • openmesh A generic and efficient polygon mesh data structure
  • openflipper programming framework designed for processing, modeling and rendering of geometric data.
  • cinolib A generic programming header only C++ library for processing polygonal and polyhedral meshes
  • mmg open source software for bidimensional and tridimensional remeshing http://www.mmgtools.org
  • Directional Directional is a C++ library for creating, manipulating and visualizing directional fields on 3D meshes
  • Easy3D A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data

Sketch

  • monster-mash A new sketch-based modeling and animation tool that allows you to quickly sketch a character, inflate it into 3D, and promptly animate it.

Optimization

  • meshoptimizer Mesh optimization library that makes indexed meshes more GPU-friendly

Compress

  • Compressonator Tool suite for Texture and 3D Model Compression, Optimization and Analysis using CPUs, GPUs and APUs
  • draco compressing and decompressing 3D geometric meshes and point clouds.

Reconstruction

Direction fields

  • fieldgen Generates high-quality, optimally smooth tangent direction fields on triangle meshes.

Platform

  • herebedragons A basic 3D scene implemented with various engines, frameworks or APIs.
  • glfw A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
  • MoltenVK Vulkan graphics and compute API, that runs on Apple's Metal graphics framework
  • dxvk Vulkan-based D3D11 implementation for Linux / Wine

UI

  • imgui ⭐ Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies
  • ImGuizmo Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui
  • nanovg Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
  • nanogui Minimalistic GUI library for OpenGL
  • nuklear A single-header ANSI C gui library
  • AnttWeakbar a light and intuitive GUI into OpenGL or DirectX based programs to interactively tweak parameters on-screen.

Util

GPGPU

  • arrayfire ArrayFire: a general purpose GPU library.
  • hipSYCL Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
  • Amplifier.NET Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code.
  • moderngpu Patterns and behaviors for GPU computing
  • ILGPU ILGPU JIT Compiler for high-performance .Net GPU programs www.ilgpu.net

JIT

  • taichi Productive & portable high-performance programming in Python. taichi-lang.org
  • Halide a language for fast, portable data-parallel computation halide-lang.org
  • warp A Python framework for high performance GPU simulation and graphics
  • drjit Dr.Jit — A Just-In-Time-Compiler for Differentiable Rendering

VFX

Minecraft

MetaBlobs

Transitions

Mesh Cut

PageCurl

Projector

Decal

  • driven-decals A mesh-based PBR decal system for Unity's universal render pipeline.
  • ProjectionSpray Draw spray to 3D model with Unity.
  • Splatoonity Splatoon like painting in Unity 3D
  • DMDecalBuffer Rendering decals to an offscreen buffer in URP for shader effects
  • SkinnedMeshDecals An example of rendering decals on SkinnedMesh Renderers in Unity.

OutLine

Motion

  • AmplifyMotion Amplify Motion was the first Full-scene Motion Blur extension for Unity
  • ProceduralMotion A collection of procedural motion scripts for Unity

Portal

  • unity-portal-rendering Super small example of using offscreen render targets to achieve a portal effect in Unity
  • shaders-portal A showcase of shader effects to replicate portals in videogames.

Fractal

InteriorMapping

Dissolve

  • VerticalDissolve Procedural vertical dissolve shader. Highly customizable. Tweak edge color, noisiness & waviness, rim light, emission scrolling and more.

HoloShield

  • HoloShield Highly customizable sci-fi shield / force field shader for Unity3D.

Glitch

SmearFrame

Matcap

EchoFX

Scan

  • Post-Processing-Scan A 3D scan/sonar-like post-processing effect for Unity. Essentially a visualization of a spherical signed distance field (SDF).

Cubism

  • Cubism-Shader A shader that creates a cubism effect based on voronoi segmentation in Unity 3d

Wireframe

  • unity-solidwire-shader A simple shader which renders stylized wireframes while staying true (within reason) to the visual style of the Vectrex

Growth

  • hedera paint 3D ivy in the Unity Editor, watch procedurally generated meshes simulate growth and clinging in real-time

BleedingEdge

Cone Light

  • GPU-Line-of-Sight GPU Line of Sight / Field of View visualization for Unity
  • unity_coneofsightfx This project shows how to implement Commandos cone of sight fx in Unity3D.
  • VisionConeDemo A demo of using URP RenderFeatures to add a vision cone rendering pass

VFXGraph

  • HDRP-Fluvio Some early tests of FluvioFX with VFX Graph and HDRP

Compute Shader Effect

  • FinalAudition A complete remake of 2005 demo "Final Audition" by Plastic

Others

  • Anime-Speed-Lines Post-processing effect to procedurally generate a anime/manga-style vignette of lines typically used to portray speed or surprise.

Tools

UE4

Unity

DataExchange

  • Unity-AlembicToVAT Alembic to VAT (Vertex Animation Texture) mini tool
  • Unity3D-VATUtils Extension of VAT shader form sideFX houdini with various utils for Unity
  • VFXGraphSandbox Unity VFX Graph technical experiment.
  • alembic Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/
  • AlembicImporter Alembic importer and exporter plugin for Unity

Shader

ShaderToy

Visual Effects

  • gaffer A open source application framework designed specifically for creating tools for use in visual effects production.
  • cortex Libraries for visual effects software development

Procedural Texture

  • armorpaint 👍 3D PBR Texture Painting Software https://armorpaint.org
  • Mixture 👍 Mixture is a powerful node-based tool crafted in unity to generate all kinds of textures in realtime
  • material-maker A procedural textures authoring and 3D model painting tool based on the Godot game engine
  • FilterJS A node-based procedural texture generator, written in node.js and powered by WebGL
  • texturelab Free, Cross-Platform, GPU-Accelerated Procedural Texture Generator
  • Materialize Materialize is a program for converting images to materials for use in video games and similars.
  • xNormal A free tool to bake texture maps ( like normal maps and ambient occlusion )
  • FlowmapPainter
  • Fornos GPU Texture Baking Tool
  • AwesomeBump generate normal, height, specular or ambient occlusion textures from a single image
  • NormalmapGenerator A simple program that converts images into normal maps
  • Imogen GPU Texture Generator
  • aobaker ambient occlusion baking tool
  • TextureGenerator 3D and 2D Noise/Texture generation using the compute shaders within the Unity engine.

Atlas

GPU Debug

  • renderdoc A stand-alone graphics debugging tool. https://renderdoc.org
  • tracy A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
  • CodeXL a comprehensive tool suite that enables developers to harness the benefits of CPUs, GPUs and APUs.
  • LPGPU2-CodeXL LPGPU2 CodeXL power performance analysis and feedback tool for GPUs
  • perfdoc A cross-platform Vulkan layer which checks Vulkan applications for best practices on Arm Mali devices.
  • agi Android GPU Inspector
  • gapid Graphics API Debugger by google
  • microprofile embeddable CPU/GPU profiler
  • vogl OpenGL capture / playback debugger by valve
  • apitrace Tools for tracing OpenGL, Direct3D, and other graphics APIs
  • GPUVis GPU Trace Visualizer
  • Remotery Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
  • BuGLe BuGLe combines a graphical OpenGL debugger with a selection of filters on the OpenGL command stream.
  • Other: gDEBugger, NVIDIA Nsight, Microsoft PIX

ML Modeling

  • GET3D A Generative Model of High Quality 3D Textured Shapes Learned from Images (NeurIPS 2022)
  • MeshCNN Convolutional Neural Network for 3D meshes in PyTorch
  • points2surf Learning Implicit Surfaces from Point Clouds (ECCV 2020)

ML Texture

  • Text2Light [SIGGRAPH Asia 2022] Text2Light: Zero-Shot Text-Driven HDR Panorama Generation
  • texturize Generate photo-realistic textures based on source images. Remix, remake, mashup! Useful if you want to create variations on a theme or elaborate on an existing texture.
  • Exposure_Correction Project page of the paper "Learning Multi-Scale Photo Exposure Correction" (CVPR 2021).
  • Deep_White_Balance Reference code for the paper: Deep White-Balance Editing (CVPR 2020). Our method is a deep learning multi-task framework for white-balance editing.
  • HiDT Official repository for the paper "High-Resolution Daytime Translation Without Domain Labels" (CVPR2020, Oral)
  • MODNet A Trimap-Free Portrait Matting Solution in Real Time [AAAI 2022]
  • segmentation_models.pytorch Segmentation models with pretrained backbones. PyTorch.
  • stable-diffusion-webui Stable Diffusion web UI
  • dream-textures Stable Diffusion built-in to the Blender shader editor
  • Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.
  • TecoGAN a TEmporally COherent GAN for video super-resolution.
  • lama-cleaner Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.

SDK&Tutorial

SDK Samples

Book Code

Graphics Awesome

Book&Tutorial

Animation

  • ozz-animation open source c++ 3d skeletal animation library and toolset
  • DMotion DMotion - A high level Animation Framework for Unity DOTS
  • Mesh-Animation Mesh Animation is lightweight library for rendering hundreds of meshes in one draw call with GPU instancing.
  • acl Animation Compression Library
  • cal3d Askeletal based 3d character animation library written in C++ in a platform-/graphic API-independent way.
  • GPUSkinning
  • Animation-Texture-Baker Animation Texture Baker for Unity
  • UE4_MotionMatching- Early Implementation of Motion Matching tech
  • skeleton-builder
  • hazumu Raytracing Skeletal Animation
  • ssds An implementation of Skinning Decomposition with Similarity Transformations (I3D2018)

ML

  • AI4Animation Character Animation in Unity3D using Deep Learning and Artificial Intelligence

Bone

  • uSpringBone High performance SpringBone using ECS and JobSystem in Unity.
  • UnityChanSpringBone UnityChan Sping Bone System for lightweight secondary animations
  • SPCRJointDynamics 布風骨物理エンジン
  • EZSoftBone A simple kinetic simulator for Unity, you can use it to simulate hair/tail/breast/skirt and other soft objects
  • dem-bones An automated algorithm to extract the linear blend skinning (LBS) from a set of example poses
  • KawaiiPhysics Simple fake Physics for UnrealEngine4 & 5

IK

  • SimpleIK Unity Inverse Kinematics made easy

Skin

Particle

Visualization

  • VTK The Visualization Toolkit