/OpenGraphic

Graphic Engine & Game Engine lists

GNU General Public License v3.0GPL-3.0

OpenGraphic

Graphic Engine & Game Engine open source list!

Contents

Official

Official

Engine

Engine    EnginePlugin    OfflineEngine    SoftRenderer    RenderingDesign

Rendering

GI    VolumeRendering    PostProcessing    Stylize    Transparency    Effect    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    Machine Learning    VR&AR   


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
  • Mesa3D 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"

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

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

Spherica lHarmonic Lighting

PRT

Irradiance Probes/Voxels

VPL

RSM

Imperfect Shadow Maps

Instant Radiosity

LPV

VCT

  • Nigiri An almost-dynamic voxel-based global illumination system for Unity.
  • SEGI NKLIA fully-dynamic voxel-based global illumination system for Unity
  • Unity-SRP-VXGI Voxel-based Global Illumination using Unity Scriptable Render Pipeline
  • VCTRenderer Deferred Voxel Shading for Real Time Global Illumination
  • 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.
  • 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
  • Vulkan-VXGI-VR-FrameWork University of Pennsylvania, CIS 565: GPU Programming and Architecture, Final Project
  • Voxel_Cone_Tracing Voxel-Cone-Tracing easy to understand

SSGI

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

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

  • 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

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

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

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

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).

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"

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

Nature

Water

Snow

Sand

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

Grass

Tree

Terrain

Cloud

Sky

  • SkyboxPanoramicShader
  • CSky-Dynamic-Sky-Unity Dynamic Sky Sphere System for Unity 3d.
  • GenUtahSky Radiance implementation of Preetham, Shirley, Smits model for sky color, plus more
  • SkyModels A collection of various Sky Models implemented with OpenGL compute shaders suitable for real-time rendering.
  • sun-sky Various sun/sky models, convolution of theta/gamma-parameterised models

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

Environment

VolumetricLight

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
  • 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

Stylize

NPR

Low Poly

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

Shear-warp

Other

  • OpenVDB Sparse volume data structure and tools. OpenVDBForUnity
  • 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.

..

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

HLOD

Spatial Data Structures

  • UnityOctree A dynamic, loose octree implementation for Unity written in C#
  • KdTree A fast, generic, multi-dimensional Binary Search Tree written in C#
  • aabo Axis Aligned Bounding Octahedron
  • bhh Bounding Halfspace Hierarchy
  • Fast-BVH A Simple, Optimized Bounding Volume Hierarchy for Ray/Object Intersection Testing
  • bvh
  • 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.

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.
  • MeshToSDF Convert a mesh to an SDF for the Visual Effect Graph (Unity) in realtime
  • 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
  • SDFr a signed distance field baker for Unity
  • mTec Rendering the World Using a Single Triangle:Efficient Distance Field Rendering
  • distance-occlusion A library of distance and occlusion generation routines

Transparency

OIT

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
  • glm OpenGL Mathematics (GLM) https://glm.g-truc.net
  • CGAL geometric algorithms in the form of a C++ library.
  • 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
  • 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

MathInShader

SH

FFT

  • 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

  • FastNoise Fast C++ Noise Library. Others Version: C++/C#/SIMD/Unity/Unreal
  • LibNoise.Unity libnoise Coherent noise library for Unity, a port of LibNoise
  • webgl-noise ⭐ Procedural Noise Shader Routines compatible with WebGL
  • GPU-Noise-Lib Optimized GPU noise functions and utilities http://briansharpe.wordpress.com/
  • Wombat An efficient texture-free GLSL procedural noise library
  • 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

Computer Vision

Image

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
  • astc-encoder This is the official repository for the Arm ASTC Encoder, a texture compressor for the Adaptive Scalable Texture Compression data format.
  • Goofy Goofy - Realtime DXT1/ETC1 encoder
  • GPURealTimeBC6H Real-time BC6H compression on GPU
  • 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

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
  • OpenFBX Lightweight open source FBX importer

Subdivision

Simplification

Deform

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

Destruction Slicer

  • unity-delaunay A Delaunay/Voronoi library for Unity, and a simple destruction effect
  • unity-destruction An open-source script to destroy objects realistically in Unity3D.
  • ezy-slice An open source mesh slicer framework for Unity3D Game Engine. Written in C#.
  • mesh-cutter Simple mesh cutting algorithm that works on simple 3d manifold objects with genus 0

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
  • PyMesh a rapid prototyping platform focused on geometry processing https://pymesh.readthedocs.io
  • poly2tri Fast and Robust Simple Polygon Triangulation With/Without Holes
  • 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

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
  • glfw
  • 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
  • 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

Effect

Minecraft

Meta Blobs

Transitions

Mesh Cut

PageCurl

Decal

OutLine

Motion

  • AmplifyMotion Amplify Motion was the first Full-scene Motion Blur extension for Unity

Portal

  • unity-portal-rendering Super small example of using offscreen render targets to achieve a portal effect in Unity

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.

Scanning

SmearFrame

  • SmearFrame Unreal Engine 4 smear frame material effect

Matcap

EchoFX

Compute Shader Effect

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

VFX

Houdini

Alembic

  • 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

Tools

UE4

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

Texture

Atlas

  • boundary-first-flattening Boundary First Flattening (BFF) is a free and open source application for surface parameterization.
  • OptCuts a new parameterization algorithm, jointly optimizes arbitrary embeddings for seam quality and distortion
  • simpleuv Automatic UV Unwrapping Library for Dust3D
  • xatlas👍 Mesh parameterization / UV unwrapping library. A cleaned up version of thekla_atlas
  • thekla_atlas Atlas Generation Tool
  • UVAtlas UVAtlas isochart texture atlas
  • Cheetah-Texture-Packer High efficient and fast 2D bin packing tool
  • Unity3D-TextureAtlasSlicer
  • VaTexAtlas plugin for Unreal Engine 4 that makes texture atlases simpler to use with UMG system.
  • RectangleBinPack Source code for performing 2d rectangular bin packing.
  • pack-spheres Brute force circle/sphere packing in 2D or 3D

GPU Debug

  • renderdoc A stand-alone graphics debugging tool. https://renderdoc.org
  • 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.
  • gapid Graphics API Debugger by google
  • 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

SDK&Tutorial

API Samples

Book Code

Graphic SDK

Graphics Awesome

Book

Physics

Library

  • bullet
  • newton-dynamics Newton Dynamics is an integrated solution for real time simulation of physics environments.
  • fcl Flexible Collision Library
  • OPCODE Optimized Collision Detection
  • gjk.c Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C
  • dyn4j Java Collision Detection and Physics Engine

Fluid

Cloth

  • GPU-Cloth-Simulation GPU Mass-Spring Simulation Cloth in Unity
  • Fusion Unity Physics on GPU
  • opencloth A collection of source codes implementing cloth simulation algorithms in OpenGL

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

IK

  • SimpleIK Unity Inverse Kinematics made easy

Demo

Animation

Particle

VR&AR

ML

Visualization

  • VTK The Visualization Toolkit