keywords: Graphics, Shading, Shader, Rendering, Tools and Frameworks, Tutorials and Documents

Blogs

Patricio Gonzalez Vivo
http://patriciogonzalezvivo.com/

Mitsuba is a research-oriented rendering system in the style of PBRT, from which it derives much inspiration.
http://www.mitsuba-renderer.org/

Tuxedolabs Blog
http://blog.tuxedolabs.com/

Self Shadow
https://blog.selfshadow.com/

Wojciech Jarosz
https://cs.dartmouth.edu/~wjarosz/
https://github.com/wkjarosz/rendering-bib

http://taichi.graphics/
https://github.com/yuanming-hu/taichi

Matt Pharr
https://pharr.org/matt/

Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria.
https://users.cg.tuwien.ac.at

Realistic Graphics Lab(Switzerland)
https://rgl.epfl.ch/publications

Real-time Graphics R&D
http://www.iryoku.com/

Graphics Programmer at Rockstar North
http://www.aortiz.me/

Inigo Quilez
http://iquilezles.org/index.html

Nick Darnell’s Blog, Tools, UI & Game Programmer, occasional blogger.
https://www.nickdarnell.com/

rastergrid
http://rastergrid.com/

INTERPLAY OF LIGHT
https://interplayoflight.wordpress.com

Paweł Dziepak
https://pdziepak.github.io/

Scratchapixel 2.0
https://www.scratchapixel.com

GurBu Technologies was co-founded by two experienced software developers.
https://gurbu.com/

Alex Tardif
http://alextardif.com/
https://twitter.com/longbool

Adam Marrs
http://visualextract.com/
https://twitter.com/acmarrs

Computer graphics projects by Morgan McGuire and friends.
https://casual-effects.com/
https://twitter.com/CasualEffects

Krzysztof Narkowicz
https://knarkowicz.wordpress.com/
https://twitter.com/knarkowicz

Balázs Török
http://morad.in/
https://twitter.com/m0radin

The Graphics codex
https://graphicscodex.com/

Wicked Engine Net
https://wickedengine.net/
https://twitter.com/turanszkij

Erik S. V. Jansson
https://eriksvjansson.net/
https://twitter.com/caffeineviking

Alan Zucconi
https://www.alanzucconi.com/

I3D is the leading conference for real time 3D computer graphics and human interaction.
http://i3dsymposium.github.io/2019/index.html

Arseny Kapoulkine
https://zeux.io/

Brian Karis (Technical Director - Graphics at Epic Games.)
http://graphicrants.blogspot.com/

Daniel Wright (Graphics Programming | Daniel Wright)
http://www.epicshaders.com/

Bartosz Ciechanowski
https://ciechanow.ski/
https://ciechanow.ski/lights-and-shadows/

Programming, Graphics, Gamedev, Exotic Computation, Audio Synthesis
https://blog.demofox.org/
https://github.com/Atrix256

High-Performance Graphics
https://www.highperformancegraphics.org/

3D Game Engine Programming
https://www.3dgep.com/

Bart Wronski, Graphics, machine learning, image and signal processing
https://bartwronski.com/

He is a long-time computer graphics and GPU enthusiast, former graphics driver developer, API architect, telecommunication system designer, and award winning contributor to the Vulkan® and OpenGL® graphics API standards.
https://rastergrid.com/blog/

Ke-Sen Huang’s Home Page (SIGGRAPH)
https://kesen.realtimerendering.com/

This is the blog of Fabian “ryg” Giesen. I work at RAD Game Tools in Kirkland/WA as a programmer.
https://fgiesen.wordpress.com/

A collection of blogs, personas and publications that act as reference points for the latest developments in Computer Graphics.
https://github.com/GeorgeAdamon/ModernComputerGraphicsResources

The Danger Zone
https://therealmjp.github.io/posts/

Simon Coenen game programmer
https://simoncoenen.com/blog

Adrian Courrèges @NVIDIA
https://www.adriancourreges.com/blog/

Nick McDonald
https://nickmcd.me/
https://twitter.com/weigert__

Glossary of computer graphics

Glossary of computer graphics
https://en.wikipedia.org/wiki/Glossary_of_computer_graphics

Tutorials

Tutorials - Comprehensive

flipcode
https://www.flipcode.com/archives/articles.shtml

In this section, we cover every area of programming, including areas both directly and indirectly related to game development.
http://archive.gamedev.net/archive/reference/listdb90.html

A trip through the Graphics Pipeline 2011: Index
https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

raviramamoorthi
https://www.youtube.com/user/raviramamoorthi/about
CS184 Computer Graphics, Fall 2012
https://inst.eecs.berkeley.edu//~cs184/fa12/onlinelectures.html

Tutorials - Game Engine

Code-It-Yourself! 3D Graphics Engine Part #1 - Triangles & Projection
https://www.youtube.com/watch?v=ih20l3pJoeU
The official distribution of olcConsoleGameEngine, a tool used in javidx9’s YouTube videos and projects
https://github.com/OneLoneCoder/videos

Tutorials - Shader Development

The complete shader development course(Unity)
https://shaderdev.com/

Making it easier to work with shaders
https://github.com/shader-slang/slang

The Book of Shaders by Patricio Gonzalez Vivo & Jen Lowe
https://thebookofshaders.com/00/

Tutorials - OpenGL Learning

Learn OpenGL
https://learnopengl.com/

Deferred Shading
https://learnopengl.com/Advanced-Lighting/Deferred-Shading

3D Game Shaders For Beginners
https://github.com/lettier/3d-game-shaders-for-beginners

How to Start Learning Computer Graphics Programming
https://erkaman.github.io/posts/beginner_computer_graphics.html

opengl-tutorial
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/

A guide to using modern OpenGL functions.
https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions

Source code of OpenGL tutorials on ogldev.org
https://github.com/emeiri/ogldev.git

Tutorials - Vulkan

Vulkan Cookbook
https://github.com/PacktPublishing/Vulkan-Cookbook

API without Secrets: Introduction to Vulkan
https://github.com/GameTechDev/IntroductionToVulkan

Vulkan Best Practice for Mobile Developers
https://github.com/ARM-software/vulkan_best_practice_for_mobile_developers

Vulkan Tutorial
https://vulkan-tutorial.com/

基于 Vulkan 实现的 GPUImage
https://github.com/glumes/Vulkan-GPUImage

Niko Kauppi
https://www.youtube.com/channel/UCyC03VCsMBFm9ZTsXL__FQg/videos

Tutorials - WebGL

WebGL lessons that start with the basics
https://github.com/gfxfundamentals/webgl-fundamentals

Tutorials - WebGPU

Curated list of awesome things around WebGPU ecosystem.
https://github.com/mikbry/awesome-webgpu

Tutorials - Path Tracing

A beginner-friendly Vulkan path tracing tutorial in under 300 lines of C++.
https://github.com/nvpro-samples/vk_mini_path_tracer
https://nvpro-samples.github.io/vk_mini_path_tracer/index.html

Tutorials - Ray Tracing

NVIDIA Vulkan Ray Tracing Tutorials: Ray tracing examples and tutorials using VK_KHR_ray_tracing.
https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR

Documents

Documents - Comprehensive

Intel Resources for Game Developers
https://software.intel.com/gamedev

Shading techniques and GLSL snippets
https://github.com/Rabbid76/graphics-snippets/

Documents - Vulkan

Awesome Vulkan ecosystem
https://github.com/vinjn/awesome-vulkan
http://www.vinjn.com/awesome-vulkan/

Documents - Rendering

Forward Rendering vs. Deferred Rendering
https://gamedevelopment.tutsplus.com/articles/forward-rendering-vs-deferred-rendering--gamedev-12342

The Computer Graphics Group of Charles University
https://cgg.mff.cuni.cz/

Advances in Real-Time Rendering in 3D Graphics and Games
http://advances.realtimerendering.com/

Practical Clustered Shading
http://www.humus.name/Articles/PracticalClusteredShading.pdf

A Primer On Efficient Rendering Algorithms & Clustered Shading.
http://www.aortiz.me/2018/12/21/CG.html

Clustered Forward vs Deferred Shading 7
http://www.yosoygames.com.ar/wp/2016/11/clustered-forward-vs-deferred-shading/

Documents - AMD

AMD’s Performance Guide is a nice collection of tips on how to program the GCN and RDNA architectures efficiently.
https://gpuopen.com/performance/

Papers

Papers - Collections

papers
https://drive.google.com/drive/folders/16A6Yj2esRTk0FP-ALr6XfxkGQvTb_1dD

Hugues Hoppe
http://hhoppe.com/

Papers - Comprehensive

Real-Time Large Crowd Rendering with Efficient Character and Instance Management on GPU.
https://www.hindawi.com/journals/ijcgt/

Papers - Rendering

Clustered Deferred and Forward Shading
http://www.cse.chalmers.se/~uffe/clustered_shading_preprint.pdf Clustered Deferred and Forward Shading
http://advancedgraphics.marries.nl/presentationslides/09_clustered_deferred_and_forward_shading.pdf

Adaptively Sampled Distance Fields - Stanford Graphics
https://graphics.stanford.edu/courses/cs468-03-fall/Papers/frisken00adaptively.pdf

Real Shading in Unreal Engine 4 by Brian Karis, Epic Games
https://de45xmedrsdbp.cloudfront.net/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf

Papers - NeRF (Neural Radiance Fields)

NeRF, Representing Scenes as Neural Radiance Fields for View Synthesis
https://www.matthewtancik.com/nerf

PlenOctrees, For Real-time Rendering of Neural Radiance Fields
https://alexyu.net/plenoctrees/

Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields
https://jonbarron.info/mipnerf/

Paper - Geometry

A fast algorithm for constructing Delaunay triangulations in the plane
https://www.newcastle.edu.au/__data/assets/pdf_file/0017/22508/13_A-fast-algorithm-for-constructing-Delaunay-triangulations-in-the-plane.pdf

Delaunay+Voronoi on a sphere
https://www.redblobgames.com/x/1842-delaunay-voronoi-sphere/

Paper - Geometry - Nanite

Brief Analysis of Nanite
https://www.notion.so/Brief-Analysis-of-Nanite-94be60f292434ba3ae62fa4bcf7d9379

Papers - Machine Learning in Physical Animation

Try W&B to track machine learning experiments and visualize results
https://www.wandb.com/papers
AI Learns To Compute Game Physics In Microseconds
https://www.youtube.com/watch?v=atcKO15YVD8

Papers - Physics

Playing Pool with |ψi: from Bouncing Billiards to Quantum Search
https://arxiv.org/pdf/1912.02207.pdf

A Hybrid Material Point Method for Frictional Contact with Diverse Materials
https://www.math.ucla.edu/~qiguo/Hybrid_MPM.pdf

GPU Optimization of Material Point Methods
https://github.com/kuiwuchn/GPUMPM

Game Engine

HTML5 Gameplay Framework

Phaser - HTML5 Game Framework
https://github.com/photonstorm/phaser

Phaser CE (Community Edition)
https://github.com/photonstorm/phaser-ce

GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
https://github.com/4ian/GDevelop

Ultralight— lightweight, pure-GPU, HTML UI engine for desktop apps and games.
https://github.com/ultralight-ux/Ultralight

LLVM-to-Web (WASM)

Esenthel Engine can run directly in a browser, no plugin required.
Following browsers are supported: Chrome, FireFox, Edge, Opera.
https://github.com/Esenthel/EsenthelEngine/

Provided as platform as a service Xe-Engine™ is a desktop grade game engine enabling the development of high quality gaming experiences from within the browser.
http://xe-development.com/

3D Game Engine

GZDoom adds an OpenGL renderer to the ZDoom source port.
https://github.com/coelckers/gzdoom

GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
https://github.com/4ian/GDevelop

The Derydoca Engine is a game engine and personal project of mine I am making available to anyone interested in it.
https://github.com/Derydoca/derydocaengine

Spartan Engine, Game engine with an emphasis on architectual quality, targeting high end machines.
https://github.com/PanosK92/SpartanEngine

Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life.
https://github.com/DigitalPulseSoftware/NazaraEngine

Lightweight, multi-platform, data-oriented game engine.
https://github.com/polymonster/pmtech

OGSR Project - Evolution of X-Ray Engine for STALKER: Shadow of Chernobyl
https://github.com/OGSR/OGSR-Engine

3D C++ Game Engine - yet another open source game engine
https://github.com/nem0/LumixEngine

Nebula is an open-source and free-to-use modern C++ game engine.
https://github.com/gscept/nebula

2D Game Engine

A multi-platform 2D game engine
https://github.com/nCine/nCine

2D physics engine for games
https://github.com/google/liquidfun

Repository for the Defold engine, editor and command line tools.
https://github.com/defold/defold

Flexible level editor
https://github.com/mapeditor/tiled

The official distribution of olcPixelGameEngine, a tool used in javidx9’s YouTube videos and projects
https://github.com/OneLoneCoder/olcPixelGameEngine

Game Source Porting

The Eternity Engine.
https://github.com/team-eternity/eternity

Tools and Frameworks

T&F - Translation Layer

A Vulkan-based translation layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine.
https://github.com/Joshua-Ashton/d9vk

A Vulkan-based translation layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine.
https://github.com/doitsujin/dxvk

A library containing utilities for mapping higher-level graphics work to D3D12
https://github.com/microsoft/D3D12TranslationLayer

The implementation of OpenCL and OpenGL to DirectX 12 translation layers
https://gitlab.freedesktop.org/kusma/mesa
Deep dive into OpenGL over DirectX layering
https://www.collabora.com/news-and-blog/blog/2020/07/09/deep-dive-into-opengl-over-directx-layering/

A conformant OpenGL ES implementation for Windows, Mac and Linux.
https://github.com/google/angle

Layer providing Vulkan features when native support is unavailable
https://github.com/KhronosGroup/Vulkan-ExtensionLayer

Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal & Vulkan
https://github.com/egorodet/MethaneKit

The Direct3D11-On-12 mapping layer
https://github.com/microsoft/D3D11On12

sokol, minimal cross-platform standalone C headers.
https://github.com/floooh/sokol

T&F - Hardware Real-Time Rendering

High performance physically based renderer in C++11
https://github.com/tunabrain/tungsten

Intel Resources for Game Developers
https://github.com/GameTechDev

DirectX 11 Renderer written in C++11
https://github.com/vilbeyli/VQEngine

mbree: High Performance Ray Tracing Kernels
https://github.com/embree/embree

A simple realtime graphics playground for experimentations.
https://github.com/kosua20/Rendu

A Non-Euclidean Rendering Engine for 3D scenes.
https://github.com/HackerPoet/NonEuclidean

Checkerboard Rendering and Dynamic Resolution Rendering in the DX12 MiniEngine
https://github.com/GameTechDev/DynamicCheckerboardRendering

The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4
https://github.com/ConfettiFX/The-Forge

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
https://github.com/LukasBanana/LLGL

A Simple Spectral Renderer
https://github.com/imallett/simple-spectral

Lighthouse 2 framework for real-time ray tracing
https://github.com/jbikker/lighthouse2

A modern cross-platform low-level graphics library and rendering framework.
https://github.com/DiligentGraphics/DiligentEngine

The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4
https://github.com/ConfettiFX/The-Forge

A physically based renderer which implements many state of the art techniques in light transport simulation, material modeling, sampling and reconstruction.
https://github.com/behindthepixels/EDXRay

Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGL
https://github.com/google/filament

Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library.
https://github.com/bkaradzic/bgfx

Mitsuba 2: A Retargetable Forward and Inverse Renderer
https://github.com/mitsuba-renderer/mitsuba2

Flux is a real-time PBR asset renderer, written with Vulkan.
https://github.com/DrNoodles/Flux

Lightweight and modular C++11/C++14 graphics middleware for games and data visualization.
https://github.com/mosra/magnum

Rendering Engine using C++ and OpenGL
https://github.com/JoshuaSenouf/gl-engine

NeverEngine, Rendering Engine to do quick graphics prototyping.
https://gitlab.com/Makogan/neverengine

D3D12 Rendering Engine
https://github.com/KaiH0717/Kaguya

Tiny OpenGL Wrapper / 3D Engine in C++
https://github.com/weigert/TinyEngine

T&F - Software Real-Time Rendering

SwiftShader is a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs. Its goal is to provide hardware independence for advanced 3D graphics.
https://github.com/google/swiftshader

A highly optimized CPU software rasterizer, which implements most of the common D3D pipeline stages.
https://github.com/behindthepixels/EDXRaster

T&F - Offline Rendering

Global Illumination - Enlighten
https://www.siliconstudio.co.jp/middleware/enlighten/en/

Bella is a next-generation physically-based render engine. Designed from a clean sheet, it aims to allow creation of the most beautiful rendered images yet seen.
https://bellarender.com

Fluid simulation engine for computer graphics applications
https://github.com/doyubkim/fluid-engine-dev

A research-oriented renderer
https://github.com/lightmetrica/lightmetrica-v3

LuxCoreRender is a physically correct, unbiased rendering engine. It is built on physically based equations that model the transportation of light.
https://github.com/LuxCoreRender/LuxCore

T&F - Ray Tracing Render

Intel(R) Open Image Denoise library: High-Performance Denoising Library for Ray Tracing
https://github.com/OpenImageDenoise/oidn

NanoRT, single header only modern ray tracing kernel.
https://github.com/lighttransport/nanort

T&F - Path Tracing Render

A GLSL Path Tracer
https://github.com/knightcrawler25/GLSL-PathTracer

MagicaVoxel. A free lightweight 8-bit voxel art editor and GPU based interactive path tracing renderer.
https://ephtracy.github.io/
Shaders for MagicaVoxel to simplify common and repetitive tasks.
https://github.com/lachlanmcdonald/magicavoxel-shaders
Generates isometric pixel art from MagicaVoxel .vox files
https://github.com/tommyettinger/IsoVoxel

C-Ray is a small, simple path tracer written in C.
https://github.com/VKoskiv/c-ray

Real-time unidirectional GPU path tracer using the cross-vendor Vulkan ray-tracing extensions.
https://github.com/diharaw/Helios

A GLSL Path Tracer
https://github.com/knightcrawler25/GLSL-PathTracer

T&F - OpenGL

OpenGL Image (GLI)
https://github.com/g-truc/gli

Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
https://github.com/Dav1dde/glad

T&F - Vulkan

a vulkan post processing layer
https://github.com/DadSchoorse/vkBasalt

A modern and easy-to-use library for the Vulkan API
https://github.com/liblava/liblava

Project Island is an experimental, hot-reloading Vulkan renderer/proto-engine for Linux, written in C/C++.
https://github.com/tgfrerer/island

A Vulkan renderer written from scratch on stream
https://github.com/zeux/niagara

T&F - DirectMedia Layer

SDL is Simple DirectMedia Layer.It is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.It can be used to make animations and video games.
https://github.com/SDL-mirror/SDL

T&F - SPIR-V

The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.
https://github.com/KhronosGroup/SPIRV-Tools

T&F - Shader Compiler

A collection of tools, libraries, and tests for Vulkan shader compilation.
https://github.com/google/shaderc

This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.
https://github.com/microsoft/DirectXShaderCompiler

GLSL cross-compiler tool (GLSL->HLSL, MSL, GLES2, GLES3, GLSLv3), using SPIRV-cross and glslang
https://github.com/septag/glslcc

HLSL Decompiler forked from 3Dmigoto
https://github.com/etnlGD/HLSLDecompiler

Making Rust a first-class language and ecosystem for GPU code
https://github.com/EmbarkStudios/rust-gpu/

Modern C++ swizzling header-only library
https://github.com/gwiazdorrr/CxxSwizzle

T&F - Visual Effects

Libraries for visual effects software development
https://github.com/ImageEngine/cortex

T&F - Pipeline

Gaffer is a node-based application for lookdev, lighting and automation
https://github.com/GafferHQ/gaffer

T&F - HTML5 & WebGL

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
https://github.com/BabylonJS/Babylon.js
Explore and Troubleshoot your WebGL scenes (All engines and Vanilla script support) with ease.
https://github.com/BabylonJS/Spector.js

A library to capture canvas-based animations at a fixed framerate
https://github.com/spite/ccapture.js

Looperepool, a tool to create looperinos
https://github.com/spite/looper

Google Chrome DevTools extension to live edit WebGL GLSL shaders
https://github.com/spite/ShaderEditorExtension

An image effects library for JavaScript using WebGL
https://github.com/evanw/glfx.js

基于HTML5原生WebGL实现的轻量级Google Earth三维地图引擎
https://github.com/iSpring/WebGlobe

Real-time path tracing with three.js
https://github.com/hoverinc/ray-tracing-renderer

Real-time PathTracing with global illumination and progressive rendering, all on top of the Three.js WebGL framework.
https://github.com/erichlof/THREE.js-PathTracing-Renderer

Minimal WebGL Library
https://github.com/oframe/ogl

T&F - WebGPU

Where the GPU for the Web work happens!
https://github.com/gpuweb/gpuweb

WebGPU Samples
https://github.com/austinEng/webgpu-samples

T&F - Animation

Animation Compression Library
https://github.com/nfrechette/acl

Animation engine for explanatory math videos
https://github.com/3b1b/manim

A single-file, immediate-mode sequencer widget for C++17, Dear ImGui and EnTT
https://github.com/alanjfs/sequentity

T&F - Physics

FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
https://github.com/rlguy/Blender-FLIP-Fluids

Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
https://github.com/bulletphysics/bullet3

Open source C++ physics engine library in 3D
https://github.com/DanielChappuis/reactphysics3d

A lightweight 3D physics engine written in JavaScript.
https://github.com/schteppe/cannon.js

T&F - Physics - Flow

MantaPatch: Data-driven Synthesis of Smoke Flows with Cnn-based Feature Descriptors, Mengyu Chu and Nils Thuerey
https://github.com/RachelCmy/mantaPatch

A quick implementation of MLFLIP
https://github.com/kiwonum/mlflip

Real-time fluid simulation engine running on GPU with Vulkan
https://github.com/mmaldacker/Vortex2D

SPlisHSPlasH is an open-source library for the physically-based simulation of fluids.
https://github.com/InteractiveComputerGraphics/SPlisHSPlasH

T&F - Textures & Maps

Fast ISPC Texture Compressor
https://github.com/GameTechDev/ISPCTextureCompressor

FastNoise is an open source noise generation library with a large collection of different noise algorithms.
https://github.com/Auburns/FastNoise

A D3D11 application for experimenting with Spherical Gaussian lightmaps
https://github.com/TheRealMJP/BakingLab

A Fast Texture Compressor for a variety of formats.
https://github.com/GammaUNC/FasTC

DirectXTex texture processing library
https://github.com/microsoft/DirectXTex

Create, manipulate, and optimize GIF images and animations
https://github.com/kohler/gifsicle

A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps.
https://github.com/ands/seamoptimizer

A C/C++ single-file library for drop-in lightmap baking. Just use your existing OpenGL renderer to bounce light!
https://github.com/ands/lightmapper

T&F - Mesh & Geomtry

The Polygon Mesh Processing Library
https://github.com/pmp-library/pmp-library

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
https://github.com/google/draco

A fantasy map generator based on Martin O’Leary’s “Generating fantasy map” notes
https://github.com/rlguy/FantasyMapGenerator

hmm. Heightmap meshing utility.
https://github.com/fogleman/hmm

Simple C++ geometry processing library.
https://github.com/libigl/libigl

An Open-Source subdivision surface library.
https://github.com/PixarAnimationStudios/OpenSubdiv

Infrastructure for solid modeling.
The libfive shared library contains functions to build, manipulate, and render f-reps. A great deal of work has gone into the meshing algorithm, which produces watertight, manifold, hierarchical, feature-preserving triangle meshes.
https://github.com/libfive/libfive

Computational geometry and spatial indexing on the sphere
https://github.com/google/s2geometry

T&F Modeling Tools

Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one.
https://github.com/huxingyi/dust3d
Automatic quad remeshing tool
https://github.com/huxingyi/autoremesher

T&F - Volume Computation

Intel(R) Open Volume Kernel Library
https://github.com/openvkl/openvkl

T&F - Sighting & Monitoring

RenderDoc is a free MIT licensed stand-alone graphics debugger that allows quick and easy single-frame capture and detailed introspection of any application using Vulkan, D3D11, OpenGL & OpenGL ES or D3D12 across Windows 7 - 10, Linux, Android, Stadia, or Nintendo Switch™.
https://renderdoc.org/
[UE4] Let’s debug the shader with RenderDoc
https://qiita.com/EGJ-Osamu_Saito/items/17c367cee4dbc3824987

NVIDIA® Nsight™ Visual Studio Edition is an application development environment for heterogeneous platforms which brings GPU computing into Microsoft Visual Studio. NVIDIA Nsight™ VSE allows you to build and debug integrated GPU kernels and native CPU code as well as inspect the state of the GPU and memory.
https://developer.nvidia.com/nsight-visual-studio-edition
Samples for the Nsight Aftermath SDK.
https://github.com/NVIDIA/nsight-aftermath-samples

Intel® GPA (Graphics Performance Analyzers)
https://software.intel.com/content/www/us/en/develop/tools/graphics-performance-analyzers.html

GPU Trace Visualizer
https://github.com/mikesart/gpuvis

Tools for tracing OpenGL, Direct3D, and other graphics APIs.
https://github.com/apitrace/apitrace

PIX on Windows, Performance tuning and debugging for DirectX 12 games on Windows
https://devblogs.microsoft.com/pix/winpixeventruntime/

T&F - Optimization Tools

MetricsGui
https://github.com/GameTechDev/MetricsGui

The Disney BRDF Explorer is an application that allows the development and analysis of bidirectional reflectance distribution functions (BRDFs)
https://github.com/wdas/brdf

Pixyz provides the best-in-class Tessellator, creating prefect mesh from any CAD/3D data fast and efficiently.
https://www.pixyz-software.com/

T&F - Debugging

C++ library for debugging HLSL & GLSL shaders
https://github.com/dfranx/ShaderDebugger

T&F - Traceing & Insight & Profiling

A simple GPU shader memory operation performance test tool. Current implementation is DirectX 11.0 based.
https://github.com/sebbbi/perftest

The Radeon GPU Analyzer (RGA) is an offline compiler and code analysis tool for Vulkan, DirectX, OpenGL, and OpenCL.
https://github.com/GPUOpen-Tools/RGA

Enoki: structured vectorization and differentiation on modern processor architectures.
https://github.com/mitsuba-renderer/enoki

PresentMon is a tool to capture and analyze ETW events related to swap chain presentation on Windows. It can be used to trace key performance metrics for graphics applications (e.g., CPU and Display frame durations and latencies) and works across different graphics APIs, different hardware configurations, and for both desktop and UWP applications.
https://github.com/GameTechDev/PresentMon

C++ frame profiler, a real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
https://github.com/wolfpld/tracy

microprofile is an embeddable profiler
https://github.com/jonasmr/microprofile

C++ Profiler For Games
https://github.com/bombomby/optick

T&F - Memory Tracing

Memory Tracing Software
https://github.com/deplinenoise/ig-memtrace
https://wessamfathi.com/2017/11/04/integrating-insomniac-games-memtrace-tool-into-unreal-engine-4-part-1/
Integrating Insomniac Games MemTrace Tool into Unreal Engine 4 – Part 2
https://wessamfathi.com/2017/11/23/integrating-insomniac-games-memtrace-tool-into-unreal-engine-4-part-2/

T&F - Editor & GUI

An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC
https://github.com/ddiakopoulos/tinygizmo

Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies
https://github.com/ocornut/imgui

Node Editor using ImGui
https://github.com/thedmd/imgui-node-editor

A small, dependency-free node editor for dear imgui
https://github.com/Nelarius/imnodes

ImGui Example CMake Project
https://github.com/aid95/MinimalImGui

Dear ImGui over WebSockets
https://github.com/ggerganov/imgui-ws

Minimalistic GUI library for OpenGL
https://github.com/wjakob/nanogui

Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
https://github.com/memononen/nanovg

A simple and easy-to-use immediate-mode-gui library
https://github.com/raysan5/raygui

Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.
https://github.com/littlevgl/lvgl

A single-header ANSI C gui library
https://github.com/vurtun/nuklear

Cross-Platform GUI Library
https://github.com/wxWidgets/wxWidgets

Advanced 2D Plotting for Dear ImGui.
https://github.com/epezent/implot

Cross platform C++ libraries
https://github.com/copperspice/copperspice

You can use goxel to create voxel graphics (3D images formed of cubes).
https://github.com/guillaumechereau/goxel

A single-header ANSI C immediate mode cross-platform GUI library
https://github.com/Immediate-Mode-UI/Nuklear

T&F - Input

Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
https://github.com/jkuhlmann/gainput

T&F - Assets

glTF – Runtime 3D Asset Delivery
https://github.com/KhronosGroup/glTF

Header only C++11 tiny glTF 2.0 library
https://github.com/syoyo/tinygltf

Single-file glTF 2.0 parser written in C99
https://github.com/jkuhlmann/cgltf

Tiny but powerful single file wavefront obj loader
https://github.com/syoyo/tinyobjloader

A C++14/C++17 header-only library for simple, efficient, and robust serialization/deserialization of glTF 2.0
https://github.com/jessey-git/fx-gltf

T&F - Computer Vision

opencv4nodejs allows you to use the native OpenCV library in nodejs.
https://github.com/justadudewhohacks/opencv4nodejs

FaceMeshFaceGeometry for FaceMesh
https://github.com/spite/FaceMeshFaceGeometry

Research code for CVPR 2021 paper “End-to-End Human Pose and Mesh Reconstruction with Transformers”. MEsh TRansfOrmer is a simple yet effective transformer-based method for human pose and mesh reconsruction from an input image.
https://github.com/microsoft/MeshTransformer

T&F - Painting

Semantic Image Synthesis with SPADE (GauGAN)
https://github.com/NVlabs/SPADE

T&F - Video & Image Processing

Anime4K is a state-of-the-art*, open-source, high-quality real-time anime upscaling algorithm that can be implemented in any programming language, anywhere.
https://github.com/bloc97/Anime4K

An open source iOS framework for GPU-based image and video processing
https://github.com/BradLarson/GPUImage

Vulkan video samples
https://github.com/nvpro-samples/vk_video_samples

T&F - Library with GUI

A simple and easy-to-use library to enjoy videogames programming
https://github.com/raysan5/raylib

Possumwood is a graph-based procedural authoring tool, in concept not dissimilar to popular CG packages like Houdini, Blender or Maya. It is intended to serve as a sandbox for computer graphics algorithms and libraries, providing a user-friendly and coding-free UI for libraries that would otherwise be inaccessible for an average user.
https://github.com/martin-pr/possumwood

A small, portable and extensible C++ 3D coding framework
https://github.com/floooh/oryol

T&F - Memory

Easy to integrate Vulkan memory allocation library
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/

Easy to integrate memory allocation library for Direct3D 12
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator

T&F - Noise Algorithms

Fast C++ Noise Library
https://github.com/Auburns/FastNoise

T&F - GLFW

Demo showing how to use the-forge with a with your own windowing, input and application loop.
https://github.com/rextimmy/the-forge-glfw

T&F - GameDev

A collection of open source c/c++ libraries for gamedev
https://github.com/raizam/gamedev_libraries

The Best in Game Development Technology! Here at RAD, we make video game development tools.
http://www.radgametools.com/

T&F - GPU Font

Single-header minimalistic pragmatic GPU font rendering library.
https://github.com/hypernewbie/VEFontCache

Demo & Examples

Examples - Comprehensive Repository

UPenn CIS 565 Fall 2019 - GPU Programming
https://github.com/CIS565-Fall-2019

GPUOpen Effects
https://github.com/GPUOpen-Effects

Computer Graphics at the Philadelphia University.
https://github.com/penn-graphics-research

Examples - Software Rendering

3D Software Render Engine in 700 Lines !!
https://github.com/skywind3000/mini3d

A brief computer graphics / rendering course
https://github.com/ssloy/tinyrenderer
Tiny renderer or how OpenGL works: software rendering in 500 lines of code
https://github.com/ssloy/tinyrenderer/wiki

Examples - Direct3D

Experimental demoscene project. C99 and Direct3D 12. Fully standalone, zero dependencies (no Visual Studio, no Windows SDK, no CRT, no #include usage). C and HLSL compilers included.
https://github.com/michal-z/eneida

This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows.
https://github.com/microsoft/DirectX-Graphics-Samples

Examples - WebGL

WebGL-GPU-Particles. 1 million+ particles being moved around on the GPU via WebGL.
https://github.com/soulwire/WebGL-GPU-Particles

Simulating depth of field with particles on a shader
https://github.com/Domenicobrz/Blurry

Play with fluids in your browser (works even on mobile)
https://github.com/PavelDoGreat/WebGL-Fluid-Simulation

Fluid Particles
https://github.com/dli/fluid

Examples - Vulkan

Examples and demos for the new Vulkan API
https://github.com/SaschaWillems/Vulkan

Yet Another Vulkan Engine
https://github.com/gan74/Yave

One stop solution for all Vulkan samples
https://github.com/KhronosGroup/Vulkan-Samples

Vulkan Samples Tutorials
https://github.com/BobLChen/VulkanDemos

Minimal Example of Using Vulkan for Compute Operations. Only ~400LOC.
https://github.com/Erkaman/vulkan_minimal_compute

Real-Time Hybrid Hair Rendering using Vulkan
https://github.com/CaffeineViking/vkhr

A Scene Viewer Rendered By Vulkan
https://github.com/enjiushi/VulkanLearn

Stardust
https://github.com/GameTechDev/stardust_vulkan

Chewman is a 3D pacman-style game written in C++ using Vulkan SDK and SDL
https://github.com/RMDarth/Chewman-Vulkan

Vulkan app demonstrating glTF 2.0 Morph Targets (Blend shapes)
https://github.com/sjfricke/Vulkan-glTF-Morph-Target

Examples - Ray Tracing

Simple raytracer using DirectX Raytracing (DXR).
https://github.com/michal-z/SimpleRaytracer

A (very) simple path tracer implemented using DirectX Ray Tracing (DXR)
https://github.com/TheRealMJP/DXRPathTracer

A simple monte carlo path tracer implemented in C++
https://github.com/amanshenoy/ray-tracer

Examples - Path Tracing

This project is to create a CUDA accelerated Deep learning approach to denoise renders from a path tracer
https://github.com/Black-Phoenix/Ai-Path-Tracer-Denoiser

Examples - PBR

Image Based Lighting using DirectX 12.
https://github.com/michal-z/ImageBasedPBR

Examples - Lighting

Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo
https://github.com/DQLin/LGHDemo

Examples - Shadow

Adaptive Screen Space Ambient Occlusion
https://github.com/GameTechDev/ASSAO

Examples - Physics

A PIC/FLIP fluid simulation based on the methods found in Robert Bridson’s “Fluid Simulation for Computer Graphics”
https://github.com/rlguy/GridFluidSim3D

Simple, single-file fluid solvers for learning purposes
https://github.com/tunabrain/incremental-fluids

Examples - Universe

Real-time 3D visualization of space.
https://github.com/CelestiaProject/Celestia

Examples - Camera

Bokeh Depth Of Field: A Physical Camera Effect created due to Focal Length, Aperture size, shape
https://github.com/Erfan-Ahmadi/BokehDepthOfField

Examples - Procedural Scene

An OpenGL 4 and C++ program which renders a procedural scene.
https://github.com/fede-vaccaro/TerrainEngine-OpenGL

Open source “Minecraft-like” game with multiplayer support.
https://github.com/Hopson97/open-builder
Lets Code A Voxel Game in C++ and OpenGL - World Generation I
https://www.youtube.com/watch?v=HPao-rNrH5Q

Examples - Gameplay Dev

Battle City (NES) — 2-player (over TCP/IP) remake in C. Co-op version of the classic NES game, written in C using SDL.
https://github.com/taravkov/tank

Examples - Fur & Hair

DirectX 12 and Vulkan libraries that provide convenient access to realistically rendered and simulated hair and fur.
https://github.com/GPUOpen-Effects

Examples - OpenCV

OpenCV integration with UE 4.19. In progress
https://github.com/Batname/UE4OpenCV
https://forums.unrealengine.com/community/work-in-progress/1467754-plugin-opencv-plugin-for-ue-4-19

Examples - Abient Occlusion

Compute AO per vertex using Embree.
https://github.com/nezix/AOEmbree

Examples - Tone Mapping & Gamut Mapping

FidelityFX LPM
https://github.com/GPUOpen-Effects/FidelityFX-LPM

Examples - Maze

Generate mazes of different shapes and arbitrary sizes using graph theory
https://github.com/razimantv/mazegenerator

Examples - Helper

shared source code and resources needed for the samples to run
https://github.com/nvpro-samples/shared_sources

Books

Books - Bundle

PAY $8 OR MORE
https://www.humblebundle.com/books/programming-packt-books

Books - Game Engine

Foundations of Game Engine Development
https://foundationsofgameenginedev.com/

Metal by Tutorials
https://store.raywenderlich.com/products/metal-by-tutorials

Books - Rendering

pbrt, Version 3
https://github.com/mmp/pbrt-v3

A simple parser for the PBRT file format
https://github.com/ingowald/pbrt-parser

minipbrt, A simple and fast parser for PBRT v3 files.
https://github.com/vilya/minipbrt

GPU Zen 2: Advanced Rendering Techniques
https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques/dp/179758314X
Example programs and source code for GPU Zen 2
https://github.com/wolfgangfengel/GPUZen2

Foundations of Game Engine Development, Volume 2: Rendering (July 26, 2019)
https://www.amazon.com/Foundations-Game-Engine-Development-Rendering/dp/0985811757

Structuring 3D Geometry based on Symmetry and Instancing Information
https://tel.archives-ouvertes.fr/tel-00379200/file/Martinet_07_PhD.pdf

The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer (Pragmatic Bookshelf) 1st Edition
https://www.amazon.com/Ray-Tracer-Challenge-Test-Driven-Renderer/dp/1680502719/

Books - Shadow

Real-Time Shadows
https://www.amazon.com/Real-Time-Shadows-Elmar-Eisemann/dp/1568814380

Books - WebAssembly

Hands-On Game Development with WebAssembly
https://www.packtpub.com/game-development/hands-game-development-webassembly

Books - Image Processing

Digital Image Processing (4Th Edition)
https://www.amazon.com/Digital-Image-Processing-Rafael-Gonzalez/dp/9353062985

Books - Computer Vision

Computer Vision: A Modern Approach (2nd Edition)
https://www.amazon.com/Computer-Vision-Modern-Approach-2nd/dp/013608592X

Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library (1st Edition)
https://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/1491937998

Shader (HLSL / GLSL) Editor

Visual Studio Plugin

A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files.
https://github.com/tgjones/HlslTools

Shader Designer
https://docs.microsoft.com/en-us/visualstudio/designers/shader-designer

Desktop IDE for HLSL and GLSL

Lightweight, cross-platform & full-featured desktop IDE for HLSL and GLSL shaders
https://github.com/dfranx/SHADERed

Game Source

RTS Game Source

command and conquer remastered Collection
https://github.com/electronicarts/CnC_Remastered_Collection

Papers

Papers - NeRF (Neural Radiance Fields)

PlenOctree Volume Rendering (supports CUDA & fragment shader backends), NeRF(Neural Radiance Fields)
https://github.com/sxyu/volrend

Code release for NeRF (Neural Radiance Fields)
https://github.com/bmild/nerf

Papers - Enhancing Photorealism Enhancement

A 3D generative design space where form follows information.
https://www.blank.ai/
Enhancing Photorealism Enhancement
https://www.youtube.com/watch?v=P1IcaBn3ej0
Enhancing Photorealism Enhancement
https://arxiv.org/abs/2105.04619
Code & Data for Enhancing Photorealism Enhancement
https://github.com/intel-isl/PhotorealismEnhancement
Enhancing Photorealism Enhancement
https://intel-isl.github.io/PhotorealismEnhancement/


如果有一天我离开你了,别多想,只是因为我觉得你身边不缺我一个人。