[Graphics]Tools and Frameworks, Tutorials and Documents
keywords: Graphics, Shading, Shader, Rendering, Tools and Frameworks, Tutorials and Documents
Blogs
REAC 2024 (Rendering Engine Architecture Conference)
https://enginearchitecture.org/2024.htm
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/
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/
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/
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__
real world technologies
https://www.realworldtech.com/category/graphics/
Thomas’ blog
https://blog.thomaspoulet.fr/
Daniel Holden
https://theorangeduck.com/
Daniel Meister, Sr. Software Engineer at AMD Japan Co. Ltd.
https://meistdan.github.io/
Christopher Kulla’s Homepage. Principal Rendering Programmer @EpicGames
https://fpsunflower.github.io/ckulla/
ROBERTO ZICHE. Graphic Domain Expert at Autodesk.
https://robertoziche.com/
humus (Recommended)
https://www.humus.name/index.php?page=Articles
Léna Piquet. Senior Product Manager and Technical Artist at Adobe.
https://www.froyok.fr/articles.html
Leif Erkenbrach’s programming blog
https://leifnode.com/
Max Slater. Computer Graphics, Programming, and Math
https://thenumb.at/
Adam Sawicki. Developer Technology Engineer at AMD.
https://asawicki.info/
Moments in Graphics. A blog by Christoph Peters
https://momentsingraphics.de/index.html
Learning Modern 3D Graphics Programming - NicolBolas (Recommended)
https://nicolbolas.github.io/oldtut/index.html
https://stackoverflow.com/users/734069/nicol-bolas
Soonts (Recommended)
http://const.me/
https://stackoverflow.com/users/126995/soonts
datenwolf. Researcher at University Lübeck
https://stackoverflow.com/users/524368/datenwolf
Choi Jae Ho
https://scahp.tistory.com/
Hi, I am Chetan Jaggi and I am working in the field of Game & Graphics. I also take on projects as a freelancer.
https://chetanjags.wordpress.com/
J Stephano
https://ktstephano.github.io/
Glossary of computer graphics
Glossary of computer graphics
https://en.wikipedia.org/wiki/Glossary_of_computer_graphics
Assets
McGuire Computer Graphics Archive
https://casual-effects.com/data/
Tutorials
Tutorials - Comprehensive
Learn OpenGL (Recommended)
https://learnopengl.com/
Scratchapixel 4.0 (Recommended)
https://www.scratchapixel.com/
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
Computer Graphics at TU Wien (Recommended)
https://www.youtube.com/channel/UCS9CFdjdEcq_NhaSFb_P-yA/playlists
Computer Graphics from Scratch demystifies the algorithms used in modern graphics software with basic programming and high school math.
https://gabrielgambetta.com/computer-graphics-from-scratch/
Cem Yuksel (Recommended)
https://www.youtube.com/c/cmyuksel/videos
How do Video Game Graphics Work? (Recommended)
https://www.youtube.com/watch?v=C8YtdC8mxTU
Erik Jansson - GPU driven Rendering with Mesh Shaders in Alan Wake 2
https://www.youtube.com/watch?v=EtX7WnFhxtQ
Tutorials - GPU Architecture
GPU architecture types explained
https://rastergrid.com/blog/gpu-tech/2021/07/gpu-architecture-types-explained/
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
How to Code Minecraft
https://www.youtube.com/watch?v=HhH_9DnMBgw&list=PLtrSb4XxIVbodGYZZVzC1PAZfwckrXp_X
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/
Shader Basics Tutorial (no code)
https://www.youtube.com/watch?v=UVNnkDqcTGE
Tutorials - OpenGL Learning
Learn OpenGL
https://learnopengl.com/
Deferred Shading
https://learnopengl.com/Advanced-Lighting/Deferred-Shading
3D Game Shaders For Beginners (Recommended)
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
Tutorials - DirectX
This repository is intended to be used as a code repository for learning DirectX 12.
https://github.com/jpvanoosten/LearningDirectX12
Tutorials - Metal
Swift 3D Game Tutorial
https://www.youtube.com/playlist?list=PLEXt1-oJUa4BVgjZt9tK2MhV_DW7PVDsg
The resources and source code for my Youtube series on creating a game engine using Apple’s Metal Api
https://github.com/twohyjr/Metal-Game-Engine-Tutorial
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
Linux: Compile C++ to WebAssembly and JavaScript using Emscripten and CMake (Recommended)
https://gist.github.com/WesThorburn/00c47b267a0e8c8431e06b14997778e4
I want to talk about WebGPU
https://cohost.org/mcc/post/1406157-i-want-to-talk-about-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
Source Code for “Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, an OptiX” by Adam Marrs, Peter Shirley, and Ingo Wald
https://github.com/Apress/Ray-Tracing-Gems-II
Getting Started With DirectX Raytracing
https://renderingpixels.com/2022/07/getting-started-with-directx-raytracing/
Path tracing workshop
https://momentsingraphics.de/PathTracingWorkshop.html
Tutorials - GPU Hacking
Hacking GCN via OpenGL (Recommended)
http://h3.gd/hacking-gcn-via-opengl/
Documents
Documents - Comprehensive
Intel Resources for Game Developers
https://software.intel.com/gamedev
Shading techniques and GLSL snippets
https://github.com/Rabbid76/graphics-snippets/
Valve’s documents of game development
https://www.valvesoftware.com/en/publications
Documents - Vulkan
Awesome Vulkan ecosystem
https://github.com/vinjn/awesome-vulkan
http://www.vinjn.com/awesome-vulkan/
Why do we need SPIR-V?
https://stackoverflow.com/a/49619262/1645289
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 - Compute Shader
Rendering Particles with Compute Shaders
https://miketuritzin.com/post/rendering-particles-with-compute-shaders/
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
A High-Performance Software Graphics Pipeline Architecture for the GPU
https://markussteinberger.net/papers/cuRE.pdf
SIGGRAPH 2021 Rendering Engine Architecture course
https://www.youtube.com/playlist?list=PLAOytOz0HZbLaWhVrGEge5_6dNCAzGFYH
http://enginearchitecture.realtimerendering.com/2021_course/
Papers - Ray Tracing
Efficient GPU Screen-Space Ray Tracing (Recommended)
Neural Partitioning Pyramids for Denoising Monte Carlo Renderings
https://balint.io/nppd/
https://balint.io/nppd/nppd_paper.pdf
Papers - Indirect Illumination
Virtual Blue Noise Lighting
https://graphics.cs.utah.edu/research/projects/virtual-blue-noise-lighting/
Source Code for HPG 2022 Paper “Virtual Blue Noise Lighting”
https://github.com/WeakKnight/VirtualBlueNoiseLighting
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/
PlenOctree Volume Rendering (supports CUDA & fragment shader backends), NeRF(Neural Radiance Fields)
https://github.com/sxyu/volrend
Plenoxels: Radiance Fields without Neural Networks
https://github.com/sxyu/svox2
Code release for NeRF (Neural Radiance Fields)
https://github.com/bmild/nerf
Papers - Geometry - Nanite
Brief Analysis of Nanite
https://www.notion.so/Brief-Analysis-of-Nanite-94be60f292434ba3ae62fa4bcf7d9379
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/
Papers - Wave Optics
A Generalized Ray Formulation For Wave-Optics Rendering
https://ssteinberg.xyz/2023/03/27/rtplt/
https://arxiv.org/pdf/2303.15762.pdf
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
Construct 3. Modern. Highly capable. Versatile. This is the all-in-one tool to build and ship your games globally.
https://www.construct.net/en/make-games/games-editor
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
Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
https://github.com/o3de/o3de/
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
The Microsoft Game Development Kit (GDK) contains the common tools, libraries, and documentation needed to build games for the Xbox App on Windows 10, Xbox Game Pass for PC, Xbox consoles (Xbox Series X|S, Xbox One), and Xbox Game Pass cloud gaming.
https://github.com/microsoft/gdk
An open source game engine in active development (Recommended)
https://github.com/ezEngine/ezEngine
Graphics engine written in C++/DirectX12 (Recommended)
https://github.com/mateeeeeee/Adria-DX12
the thin c++ game engine
https://github.com/hugoam/toy
Kruger Prototype Game Engine. Kruger is a game engine framework, basically an engine without a renderer. It contains a lot of the boilerplate machinery required for resource management, serialization, gameplay, etc.
https://github.com/BobbyAnguelov/KRG
Skylicht Engine is C++ Game Engine based on Irrlicht 3D. We have upgraded to more features. Cross-Platform Framework (Android, IOS, UWP, HTML5)
https://github.com/skylicht-lab/skylicht-engine
Castor3D is a 3D engine written in C++ 17. It works on Windows and GNU/Linux. It relies on Ashes as a rendering API, allowing Vulkan, Direct3D 11, and OpenGL. The project itself is compilable on supported platforms using CMake (\ref build).
https://github.com/DragonJoker/Castor3D
Legion-Engine is a data oriented C++17 game engine built to make optimal use of modern hardware.
https://github.com/Rythe-Interactive/Rythe-Engine.rythe-legacy
Hork Engine. Developed for Quake-style 3D games, but it is possible to create games of other genres.
https://github.com/Hork-Engine/Hork-Source
CX3D is an easy to use Game Framework for the development of 3D Games in C++.
https://github.com/PardCode/CX3D
Razix is a High Performance Research Engine for production pipeline with emphasis on experimenting with different rendering techniques. Razix supports Windows, Mac, Linux, PSVita and PS3 systems.
https://github.com/Pikachuxxxx/Razix
A 3D game engine written in C++ with features like PBR, global illumination, procedural terrain generation, deferred rendering pipeline, and more!
https://github.com/krait-games/hyperion-engine
Cross-platform 2D and 3D Game Engine written in C++ that supports both OpenGL and Vulkan.
https://github.com/jmorton06/Lumos
Lina Engine is an open-source , modular, tiny and fast C++ game engine, aimed to develop 3D desktop games.
https://github.com/inanevin/LinaEngine
A 3D game engine written in C++ with features like PBR, global illumination, procedural terrain generation, deferred rendering pipeline, and more!
https://github.com/krait-games/hyperion-engine
Lina Engine is an open-source , modular, tiny and fast C++ game engine, aimed to develop 3D desktop games.
https://github.com/inanevin/LinaEngine
High Performance Research Engine for Production Pipeline
https://github.com/Pikachuxxxx/Razix
C++ open source 3D game engine
https://github.com/asc-community/MxEngine
Cross-platform game engine with Vulkan backend
https://github.com/ajweeks/FlexEngine
Rythe is a data-oriented C++17 game engine built to make optimal use of modern hardware.
https://github.com/Rythe-Interactive/Rythe-Engine
Modern & multiplatform game engine in C++17
https://github.com/Razakhel/RaZ
The AMD Render Pipeline Shaders (RPS) SDK is a comprehensive and extensible Render Graph framework. (Recommended)
https://github.com/GPUOpen-LibrariesAndSDKs/RenderPipelineShaders
Overload, 3D Game engine with editor
https://github.com/adriengivry/Overload
halley, a lightweight game engine written in modern C++
https://github.com/amzeratul/halley
C++ Game Engine and Editor
https://github.com/volcoma/EtherealEngine
GlistEngine is a cross platform OpenGL game engine written in C++
https://github.com/GlistEngine/GlistEngine
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
LÖVE is an awesome framework you can use to make 2D games in Lua. It’s free, open-source, and works on Windows, Mac OS X, Linux, Android and iOS. (Recommended)
http://love2d.org/
https://github.com/love2d-community/awesome-love2d
Easy to use cross-platform 2D game library for C++
https://github.com/jhasse/jngl
Game Source Porting
The Eternity Engine.
https://github.com/team-eternity/eternity
Simulator Engine
Collections
UNIGINE 2, Real-time 3D visualization SDK (C++/C#) for simulation & training.
https://unigine.com/products/sim/advantages/
Tools and Frameworks
T&F - GLFW & GLM
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
https://github.com/glfw/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
OpenGL Mathematics (GLM)
https://github.com/g-truc/glm
Highly Optimized Graphics Math (glm) for C
https://github.com/recp/cglm
GLEW(source updated nightly) with Cmake and pre-generated sources (Recommended)
https://github.com/Perlmint/glew-cmake
The OpenGL Extension Wrangler Library
https://github.com/nigels-com/glew
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/
ANGLE(Almost Native Graphics Layer Engine), 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
Glide/DirectX implementation on D3D11/12
https://github.com/dege-diosg/dgVoodoo2
T&F - API Binding
Modern OpenGL binding for python
https://github.com/moderngl/moderngl
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
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
DiligentFX is the Diligent Engine’s high-level rendering framework.
https://github.com/DiligentGraphics/DiligentFX
Sample projects demonstrating the usage of Diligent Engine
https://github.com/DiligentGraphics/DiligentSamples
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
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
Rendering Engine using C++ and OpenGL
https://github.com/JoshuaSenouf/gl-engine
D3D12 Rendering Engine
https://github.com/KaiH0717/Kaguya
Tiny OpenGL Wrapper / 3D Engine in C++
https://github.com/weigert/TinyEngine
Multi-threaded DirectX12 renderer w/ HDR, PBR & Multi-monitor support
https://github.com/vilbeyli/VQE
Mesa 3D graphics library, is an open-source software implementation of OpenGL, Vulkan, and other graphics API specifications.
https://gitlab.freedesktop.org/mesa/mesa
Tempest is an open-source, simple, cross-platform graphics engine written in modern C++14.
Main idea behind this engine is to provide a low-level GPU-programming concepts, like Ubo, Vbo, Ssbo, in convenient C++ packaging, with RAII, types and templates.
https://github.com/Try/Tempest
Castor3D is a 3D engine written in C++ 17. It works on Windows and GNU/Linux. It relies on Ashes as a rendering API, allowing Vulkan, Direct3D 11, and OpenGL. The project itself is compilable on supported platforms using CMake (\ref build).
https://github.com/DragonJoker/Castor3D
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
https://github.com/andrejnau/FlyCube
OpenGL C++ Graphics Engine. The project is 3D graphics engine, focused on high-performance, low-overhead rendering with modern OpenGL & C++17.
https://github.com/hotstreams/limitless-engine
Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.
https://github.com/horde3d/Horde3D
High-Performance Rendering Framework on Stream Architectures (Recommended)
https://github.com/LuisaGroup/LuisaCompute
High-Performance Cross-Platform Monte Carlo Renderer Based on LuisaCompute
https://github.com/LuisaGroup/LuisaRender
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android (Recommended)
https://github.com/Devsh-Graphics-Programming/Nabla
Nabla’s Tests and Examples source code
https://github.com/Devsh-Graphics-Programming/Nabla-Examples-and-Tests
Cross platform toy render engine supporting physically based rendering and software ray tracing.
https://github.com/tippesi/Atlas-Engine
AnKi 3D Engine - Vulkan backend, modern renderer, scripting, physics and more
https://github.com/godlikepanos/anki-3d-engine
DiligentFX is the Diligent Engine’s high-level rendering framework.
https://github.com/DiligentGraphics/DiligentFX
A modern cross-platform low-level graphics API
https://github.com/DiligentGraphics/DiligentCore
This program definitely works on a Nvidia RTX 2080 Super GPU, and a Mali G710 GPU. Other Vulkan implementations may or may not support all the required features.
https://github.com/DethRaid/AndroidRenderer
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
Cross platform toy render engine supporting physically based rendering and software ray tracing
https://github.com/tippesi/Atlas-Engine
Tiny C++ Software Renderer / Rasterizer
https://github.com/keith2018/SoftGLRender
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
The GPU Ray Tracing (GPURT) library is a static library (source deliverable) that provides ray tracing related functionalities for AMD drivers supporting DXR (DirectX 12®) and the Vulkan® RT API
https://github.com/GPUOpen-Drivers/gpurt
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
An example path tracer that runs on multiple ray tracing backends (Embree/DXR/OptiX/Vulkan/Metal/OSPRay)
https://github.com/Twinklebear/ChameleonRT
Ray tracing engine, from scratch, in C++. (Recommended)
https://github.com/mustafaquraish/rt
Physically-based CPU and GPU ray-tracer.
https://github.com/sergeyreznik/etx-tracer
Gears-Vk, powerful low-level C++20 rendering framework for Vulkan 1.2, including Real-Time Ray Tracing (RTX) support, built atop Auto-Vk.
https://github.com/cg-tuwien/Gears-Vk
Experiments with software ray tracing. (Recommended)
https://github.com/codeonwort/Software-Raytracing
An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization (Recommended)
https://github.com/ospray/ospray
T&F - Path Tracing Render
A GLSL Path Tracer: A physically based path tracer that runs in a GLSL fragment shader. (Recommended)
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
AMD Radeon™ ProRender is a powerful physically-based path traced rendering engine that enables creative professionals to produce stunningly photorealistic images.
https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRenderSDK
Hydra-enabled GPU path tracer that supports MaterialX and MDL
https://github.com/pablode/gatling
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
Modern OpenGL renderer written in C++17
https://github.com/htmlboss/OpenGL-Renderer
Low-level OpenGL 4.6 abstraction written in C++20. Fwog mitigates many of the weak points of OpenGL while providing a modern interface
https://github.com/JuanDiegoMontoya/Fwog
Best Practices for Modern OpenGL
https://juandiegomontoya.github.io/modern_opengl.html
Framework for rapid OpenGL demos prototyping (Recommended)
https://github.com/Shot511/RapidGL
Cross platform 3D renderer in C++ and OpenGL with lighting, shadows and materials.
https://github.com/MorcilloSanz/RendererGL
T&F - DirectX
Personal hobby project to experiment with various rendering techniques.
https://github.com/simco50/D3D12_Research
XUSG, XU’s supreme graphics lib, is a handy wrapper currently for DirectX 12. It can be a good reference for designing your own DX12 wrapper APIs.
https://github.com/StarsX/XUSG
D3D12Renderer. Custom renderer and physics engine written from scratch in C++/Direct3D 12.
https://github.com/pkurth/D3D12Renderer
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 - Metal
Getting started with Metal-cpp
https://developer.apple.com/metal/cpp/
C++ Metal wrapper
https://github.com/naleksiev/mtlpp
A 3D Graphics Framework built on Apple’s Metal
https://github.com/Hi-Rez/Satin
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
GUI module for raylib. A simple and easy-to-use immediate-mode-gui library (Recommended)
https://github.com/raysan5/raygui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
https://github.com/hoffstadt/DearPyGui
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
Node graph implementation for Dear ImGui.
https://github.com/rokups/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
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
The smallest header-only GUI library(4 KLOC) for all platforms
https://github.com/idea4good/GuiLite
Simple and Fast Graphical User Interface
https://github.com/TankOs/SFGUI
File Dialog for Dear ImGui
https://github.com/aiekick/ImGuiFileDialog
FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.
https://github.com/fltk/fltk
Cross Platform File Dialog for Dear-ImGui
https://github.com/gallickgunner/ImGui-Addons
ImTui: Immediate Mode Text-based User Interface C++ Library
https://github.com/ggerganov/imtui
T&F - Rendering Library with GUI
A simple and easy-to-use library to enjoy videogames programming (Recommended)
https://github.com/raysan5/raylib
A fast and minimalist 3D viewer. (Recommended)
https://github.com/f3d-app/f3d
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 - RHI(Rendering Hardware Interface) Framework
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
NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs (GAPIs): Direct3D 11, Direct3D 12, and Vulkan 1.2.(Recommended)
https://github.com/NVIDIAGameWorks/nvrhi
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
Lightweight and modular C++11/C++14 graphics middleware for games and data visualization.
https://github.com/mosra/magnum
The official Allegro 5 git repository. Pull requests welcome!
https://github.com/liballeg/allegro5
NRI is a low-level abstract render interface which currently supports three backends: D3D11, D3D12 and Vulkan.
https://github.com/NVIDIAGameWorks/NRI
Keyword: multi-media
SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing, graphics, audio and network. It is written in C++, and has bindings for various languages such as C, .Net, Ruby, Python.
https://github.com/SFML/SFML
T&F - Rapid Prototyping
Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library.
https://github.com/bkaradzic/bgfx
A starter project for graphics applications using SDL, bgfx and Dear ImGui. The idea behind this repo is for it to be used as a minimal starting point for development of a game, demo or prototype.
https://github.com/pr0g/sdl-bgfx-imgui-starter
A simple framework for rapid prototyping on Vulkan or Direct3D 12
https://github.com/GPUOpen-LibrariesAndSDKs/Cauldron
NeverEngine, Rendering Engine to do quick graphics prototyping.
https://gitlab.com/Makogan/neverengine
Graphics prototyping framework
https://github.com/kayru/librush
two is an all-purpose c++ app prototyping library, focused towards live graphical apps and games.
https://github.com/hugoam/two
Robust real-time rendering engine on DirectX 11 with many advanced graphics features for quick prototyping
https://github.com/steaklive/EveryRay-Rendering-Engine
dw-sample-framework. A simple C++ framework for implementing graphics technique samples using OpenGL or Vulkan.
https://github.com/diharaw/dw-sample-framework
bigg (bgfx + imgui + glfw + glm) + utils, is a prototype-oriented middleware library for 3D interactive applications.
https://github.com/yuki-koyama/bigger
gfx is a minimalist and easy to use graphics API built on top of Direct3D12/HLSL intended for rapid prototyping.
https://github.com/gboisse/gfx
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 (Cross-Compiling)
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.(Recommended)
https://github.com/microsoft/DirectXShaderCompiler
SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.(Recommended)
https://github.com/KhronosGroup/SPIRV-Cross
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages.
https://github.com/microsoft/ShaderConductor
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
Library used to write shaders from C++, and export them in either GLSL, HLSL or SPIR-V.
https://github.com/DragonJoker/ShaderWriter
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
🇨🇭 A React renderer for Three.js
https://github.com/pmndrs/react-three-fiber
useful helpers for react-three-fiber
https://github.com/pmndrs/drei
Minimal WebGL Library
https://github.com/oframe/ogl
BeautifulMakie, Makie is a high-performance, extendable, and multi-platform plotting ecosystem for the Julia programming language. For more examples go to the different menu sections. And the official documentation.
https://github.com/lazarusA/BeautifulMakie
A post processing library that provides the means to implement image filter effects for three.js.
https://github.com/pmndrs/postprocessing
SSGI, Motion Blur, TRAA - Effects to enhance your three.js scene’s realism (Recommended)
https://github.com/0beqz/realism-effects
VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization.
https://github.com/Kitware/vtk-js
T&F - WebGPU (WebAssembly)
Where the GPU for the Web work happens!
https://github.com/gpuweb/gpuweb
Shadeup is a language crafted to make shaders a breeze. Powered by WebGPU, extended from TypeScript, and designed to minimize boilerplate
https://shadeup.dev/
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 - Textures & Maps
Fast ISPC Texture Compressor
https://github.com/GameTechDev/ISPCTextureCompressor
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
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.
https://github.com/darksylinc/betsy
T&F - Volume Computation
Intel(R) Open Volume Kernel Library
https://github.com/openvkl/openvkl
T&F - Tracing & Profiling & Monitoring & Sighting
Android GPU Inspector (AGI) (Recommended)
https://developer.android.com/agi
Graphics API Debugger(Deprecated)
https://github.com/google/gapid
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 Graphics is a standalone developer tool with ray-tracing support that enables you to debug, profile, and export frames built with Direct3D, Vulkan, OpenGL, OpenVR, and the Oculus SDK.
https://developer.nvidia.com/nsight-graphics
https://docs.nvidia.com/nsight-graphics/index.html
Documents for Nsight Systems, also available for Nsight Graphis (Recommended)
https://docs.nvidia.com/nsight-systems/UserGuide/index.html
The Peak-Performance-Percentage Analysis Method for Optimizing Any GPU Workload
https://developer.nvidia.com/blog/the-peak-performance-analysis-method-for-optimizing-any-gpu-workload/
NVIDIA Nsight Feature Spotlight: GPU Trace
https://www.youtube.com/watch?v=g-VarJU6yJ8
Profiling GPU codes with Nsight
https://www.youtube.com/watch?v=51K5EqGqzCM
The NVIDIA® Nsight™ Perf SDK is a graphics profiling toolbox for DirectX, Vulkan, and OpenGL enabling you to collect GPU performance metrics directly from your application.
https://developer.nvidia.com/nsight-perf-sdk
NVIDIA Nsight Aftermath. D3D12 or Vulkan game’s crash reporter to generate GPU “mini-dumps” when a TDR or exception occurs
https://developer.nvidia.com/nsight-aftermath
Samples for the Nsight Aftermath SDK.
https://github.com/NVIDIA/nsight-aftermath-samples
Nsight Compute Documentation
https://docs.nvidia.com/nsight-compute/NsightCompute/index.html
Training material for Nsight developer tools
https://github.com/NVIDIA/nsight-training
Radeon™ GPU Analyzer, an offline compiler and performance analysis tool for DirectX®, Vulkan®, SPIR-V™, OpenGL®, and OpenCL™.
https://gpuopen.com/rga/
https://gpuopen.com/rgp/
AMD RDNA™ 2 – Radeon™ GPU Profiler 1.10
https://www.youtube.com/watch?v=EIlJxFBbA2k
How-To Use Radeon™ GPU Profiler
https://www.youtube.com/watch?v=eE9Oomlm8V0
Intel® GPA (Graphics Performance Analyzers)
https://software.intel.com/content/www/us/en/develop/tools/graphics-performance-analyzers.html
Intel® VTune™ Profiler. Find and Fix Performance Bottlenecks Quickly and Realize All the Value of Your Hardware
https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.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/
Tutorial: Using PIX to diagnose spikes in CPU frame time
https://developer.microsoft.com/en-us/games/articles/2024/02/tutorial-using-pix-to-diagnose-spikes-in-cpu-frame-time/
A simple GPU shader memory operation performance test tool. Current implementation is DirectX 11.0 based.
https://github.com/sebbbi/perftest
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
CPU scope based profiling library and browser based profile inspector with ImGui visualization
https://github.com/milostosic/rprof
Orbit & Dive: C/C++ Performance Profiler (both for CPU and GPU) (Recommended)
https://github.com/google/orbit
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
The RAD Debugger is a native, user-mode, multi-process, graphical debugger. (Recommended)
https://github.com/EpicGames/raddebugger
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 - Input
Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
https://github.com/jkuhlmann/gainput
T&F - Assets Manager
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
stb single-file public domain libraries for C/C++
https://github.com/nothings/stb
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
A simple demo to show off the capabilities of the Cauldron framework (Recommended)
https://github.com/GPUOpen-LibrariesAndSDKs/glTFSample
Microsoft glTF SDK - A C++ Deserializer/Serializer for glTF
https://github.com/microsoft/glTF-SDK
Rendering glTF scenes with ray tracer and raster (Vulkan)
https://github.com/nvpro-samples/vk_shaded_gltfscene
A C++ OBJ Model Loader that will parse .obj & .mtl Files into Indices, Vertices, Materials, and Mesh Structures.
https://github.com/Bly7/OBJ-Loader
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
“Marker-less Augmented Reality” with OpenCV and OpenGL. (Recommended)
https://github.com/ahmetozlu/augmented_reality
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
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, Real-ESRGAN, Real-CUGAN, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN, and ACNet.
https://github.com/AaronFeng753/Waifu2x-Extension-GUI
T&F - Noise Algorithms
FastNoise is an open source noise generation library with a large collection of different noise algorithms.
https://github.com/Auburns/FastNoise
FastNoise2. Modular node graph based noise generation library using SIMD, C++17 and templates
https://github.com/Auburn/FastNoise2
A Perlin’s Simplex Noise C++ Implementation (1D, 2D, 3D)
https://github.com/SRombauts/SimplexNoise
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/
PixelOver is a software to transform your arts to pixel arts as best as possible, animate in realtime with pixel perfect transformations, bones and key animation system.
https://store.steampowered.com/app/1762550/PixelOver/
Animated sprite editor & pixel art tool (Windows, macOS, Linux)
https://github.com/aseprite/aseprite
SHMUP Creator allows you to make the Shoot ’em up of your dreams! As fun as a game, it is very simple but powerful enough to make professional Shmups.
https://store.steampowered.com/app/1289520/SHMUP_Creator/
Bitty Engine is an itty bitty game engine, with built-in editors, programmable in Lua.
https://store.steampowered.com/app/1386180/Bitty_Engine/
GameGuru MAX is a 3D game-maker that makes the creation of your game simple, quick and easy – no coding required! With all the tools and assets you need in one place you can start making your dream game in minutes!
https://store.steampowered.com/app/1247290/GameGuru_MAX/
ModLab. ModLab is a free tool that can generate and fine tune normal maps in a realtime rendering environment.
https://store.steampowered.com/app/768970/ModLab/
T&F - Subset (font, glyph)
ImGuiFontStudio is a tool for Subset font and extract glyph names for use embbeded or not in a software, especially for use with ImGui for embedded way.
https://github.com/aiekick/ImGuiFontStudio
MSDF font atlas generator
https://github.com/Chlumsky/msdf-atlas-gen
T&F - GPU Font
Single-header minimalistic pragmatic GPU font rendering library.
https://github.com/hypernewbie/VEFontCache
T&F - Text Shaping
HarfBuzz text shaping engine
https://github.com/harfbuzz/harfbuzz
T&F - Super Resolution
AMD FidelityFX Super Resolution (FSR) is an open source, high-quality solution for producing high resolution frames from lower resolution inputs.
https://github.com/GPUOpen-Effects/FidelityFX-FSR
AMD FSR 3.1 Announced at GDC 2024, FSR 3 Available and Upcoming in 40 Games
https://community.amd.com/t5/gaming/amd-fsr-3-1-announced-at-gdc-2024-fsr-3-available-and-upcoming/ba-p/674027
T&F - Space Partitioning Algorithm
A C implementation for creating 2D voronoi diagrams
https://github.com/JCash/voronoi
OpenFrameworks wrapper of Voro++ that do 3D Voronoi Tessellation
https://github.com/patriciogonzalezvivo/ofxVoro
T&F - Vector Graphics (2D Graphics, Motion Graphics)
An efficient vector-graphics renderer
https://github.com/google/forma
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
https://github.com/google/skia
Tooll 3 is an open source software to create realtime motion graphics.
https://github.com/still-scene/t3
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
Simple Software Render
https://github.com/zxx43/Software-Render
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
Personal hobby project to experiment with various rendering techniques.
https://github.com/simco50/D3D12_Research
Examples - OpenGL
OpenGL 3 and 4 with GLSL
https://github.com/McNopper/OpenGL
A Small OpenGL Based Renderer(Recommended)
https://github.com/zxx43/Tiny3D
Decent looking grass in opengl that still maintaines decent performance.
https://github.com/SomePineaple/GLGrass
可编程渲染管线实现,帮助初学者学习渲染 (Recommended)
https://github.com/skywind3000/RenderHelp
OpenGL support library so you can just dive in and write OpenGL code
https://github.com/TheCherno/OpenGL
Collection of examples for OpenGL: Perlin noise, ambient occlusion, shadow mapping, water reflection and others (Recommended)
https://github.com/damdoy/opengl_examples
A ready to use cmake skeleton using GLFW, Glew and glm. include WebAssembly example
https://github.com/ArthurSonzogni/OpenGL_CMake_Skeleton
OpenGL Demo: Simulating Ocean Waves with FFT
https://github.com/achalpandeyy/OceanFFT
Examples - Vulkan
Examples and demos for the new Vulkan API.(Recommended)
https://github.com/SaschaWillems/Vulkan
Deferred Vulkan rendering playground using Crytek’s Sponza scene.(Recommended)
https://github.com/SaschaWillems/VulkanSponza
A Vulkan sample that demonstrates an integration of Ray Traced Shadows, Ambient Occlusion, Reflections and Global Illumination into a Deferred Rendering Pipeline.(Recommended)
https://github.com/diharaw/HybridRendering
Makma is a deferred Vulkan renderer written in C++.(Recommended)
https://github.com/janhsimon/makma
Chewman is a 3D pacman-style game written in C++ using Vulkan SDK and SDL.(Recommended)
https://github.com/RMDarth/Chewman-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
The Stardust sample application uses the Vulkan graphics API to efficiently render a cloud of animated particles.
https://github.com/GameTechDev/stardust_vulkan
Vulkan app demonstrating glTF 2.0 Morph Targets (Blend shapes)
https://github.com/sjfricke/Vulkan-glTF-Morph-Target
Examples - Metal
A simple 3D engine written in Swift + Metal, for educational purposes.
https://github.com/markdaws/Toy3D
Examples - WebGL, WebGPU, WebAssembly
The WebGPU Samples are a set of samples and demos demonstrating the use of the WebGPU API.
https://github.com/webgpu/webgpu-samples
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
Template to get started with WebGPU C++ -> Wasm projects (Recommended)
https://github.com/Twinklebear/webgpu-cpp-wasm
A ready to use cmake skeleton using GLFW, Glew and glm. include WebAssembly example
https://github.com/ArthurSonzogni/OpenGL_CMake_Skeleton
Examples - Ray Tracing
Simple Vulkan raytracing tutorials (Recommended)
https://github.com/iOrange/rtxON
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
Realtime GPU Path Tracing engine based on OpenCL and OpenGL. Pure GPU software implementation without hardware acceleration (no RTX etc.) (Recommended)
https://github.com/AlexanderVeselov/RayTracing
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
GPU Pathtracer from scratch in C++/CUDA (Recommended)
https://github.com/jan-van-bergen/GPU-Pathtracer
Examples - Point Clouds
Rendering Point Clouds with Compute Shaders
https://github.com/m-schuetz/compute_rasterizer
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 - Universe
Real-time 3D visualization of space.
https://github.com/CelestiaProject/Celestia
An n-body type simulation using GPU acceleration to simulate galaxies, galaxy collisions and expanding universes.
https://github.com/angeluriot/Galaxy_simulation
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 Development
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
A cross-platform, top-down 2D space shooter written in C using only system libraries.
https://github.com/tsherif/space-shooter.c
Simple Pacman clone written in C99.
https://github.com/floooh/pacman.c
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
人世漫长得转瞬即逝,有人见尘埃,有人见星辰。---《月亮与六便士》