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


Tuxedolabs Blog

Self Shadow

Wojciech Jarosz

Matt Pharr

Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria.

Realistic Graphics Lab(Switzerland)

Real-time Graphics R&D

Graphics Programmer at Rockstar North

Inigo Quilez

Nick Darnell’s Blog, Tools, UI & Game Programmer, occasional blogger.



Paweł Dziepak

Scratchapixel 2.0

GurBu Technologies was co-founded by two experienced software developers.

Glossary of computer graphics

Glossary of computer graphics



Shader Development Tutorials

The complete shader development course(Unity)

Making it easier to work with shaders

OpenGL Learning Tutorials

Learn OpenGL

Deferred Shading

3D Game Shaders For Beginners

How to Start Learning Computer Graphics Programming


Vulkan Tutorials

Vulkan Cookbook

API without Secrets: Introduction to Vulkan

Vulkan Best Practice for Mobile Developers

WebGL Tutorials

WebGL lessons that start with the basics


Intel Resources for Game Developers


Awesome Vulkan ecosystem


Forward Rendering vs. Deferred Rendering

The Computer Graphics Group of Charles University

The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4

A Vulkan-based translation layer for Direct3D 1011 which allows running 3D applications on Linux using Wine.

Advances in Real-Time Rendering in 3D Graphics and Games

Practical Clustered Shading

A Primer On Efficient Rendering Algorithms & Clustered Shading.

Clustered Forward vs Deferred Shading 7

Physics - Flow

MantaPatch: Data-driven Synthesis of Smoke Flows with Cnn-based Feature Descriptors, Mengyu Chu and Nils Thuerey

A quick implementation of MLFLIP

Research Papers


Clustered Deferred and Forward Shading Clustered Deferred and Forward Shading

Adaptively Sampled Distance Fields - Stanford Graphics

Machine Learning

Try W&B to track machine learning experiments and visualize results
AI Learns To Compute Game Physics In Microseconds

Game Engine

HTML5 Gameplay Framework

Phaser - HTML5 Game Framework

Phaser CE (Community Edition)

GDevelop is an open-source, cross-platform game engine designed to be used by everyone.


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

C++ Game Engine

GZDoom adds an OpenGL renderer to the ZDoom source port.

A multi-platform 2D game engine

GDevelop is an open-source, cross-platform game engine designed to be used by everyone.

The Derydoca Engine is a game engine and personal project of mine I am making available to anyone interested in it.

Spartan Engine, Game engine with an emphasis on architectual quality, targeting high end machines.

Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life.

Lightweight, multi-platform, data-oriented game engine.

Tools and Frameworks

Hardware Real-Time Rendering

High performance physically based renderer in C++11

Intel Resources for Game Developers

DirectX 11 Renderer written in C++11

mbree: High Performance Ray Tracing Kernels

A simple realtime graphics playground for experimentations.

Real-Time Hybrid Hair Rendering using Vulkan

A Non-Euclidean Rendering Engine for 3D scenes.

Checkerboard Rendering and Dynamic Resolution Rendering in the DX12 MiniEngine

The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

A Simple Spectral Renderer

A Vulkan-based translation layer for Direct3D 1011 which allows running 3D applications on Linux using Wine.

Lighthouse 2 framework for real-time ray tracing

A modern cross-platform low-level graphics library and rendering framework.

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.

Offline Rendering

Global Illumination - Enlighten

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.


a vulkan post processing layer

Ray Tracing

Intel® Open Image Denoise library: High-Performance Denoising Library for Ray Tracing

Path Tracing

A GLSL Path Tracer

Shader Compler

A collection of tools, libraries, and tests for Vulkan shader compilation.


The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.


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

A library to capture canvas-based animations at a fixed framerate

Looperepool, a tool to create looperinos

Google Chrome DevTools extension to live edit WebGL GLSL shaders

An image effects library for JavaScript using WebGL


Animation Compression Library

Animation engine for explanatory math videos


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.

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

Textures & Maps

Fast ISPC Texture Compressor

FastNoise is an open source noise generation library with a large collection of different noise algorithms.

A D3D11 application for experimenting with Spherical Gaussian lightmaps

A Fast Texture Compressor for a variety of formats.

DirectXTex texture processing library

Create, manipulate, and optimize GIF images and animations

A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps.

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


The Polygon Mesh Processing 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.

A fantasy map generator based on Martin O’Leary’s “Generating fantasy map” notes

hmm. Heightmap meshing utility.




The Disney BRDF Explorer is an application that allows the development and analysis of bidirectional reflectance distribution functions (BRDFs)

PerfTest, GPU texture/buffer performance tester

The Radeon GPU Analyzer (RGA) is an offline compiler and code analysis tool for Vulkan, DirectX, OpenGL, and OpenCL.

Tool for collection and processing of ETW events related to DXGI presentation.

Editor & GUI

An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC

Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies

Node Editor using ImGui

A small, dependency-free node editor for dear imgui

Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

A simple and easy-to-use immediate-mode-gui library

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.

A single-header ANSI C gui library


Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch


glTF – Runtime 3D Asset Delivery

Header only C++11 tiny glTF 2.0 library

Single-file glTF 2.0 parser written in C99

Tiny but powerful single file wavefront obj loader

Computer Vision

opencv4nodejs allows you to use the native OpenCV library in nodejs.

VOX format

Shaders for MagicaVoxel to simplify common and repetitive tasks.


Semantic Image Synthesis with SPADE (GauGAN)


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.

Video Games Programming

A simple and easy-to-use library to enjoy videogames programming


Easy to integrate Vulkan memory allocation library

Easy to integrate memory allocation library for Direct3D 12

Demo & Example

Software Rendering

3D Software Render Engine in 700 Lines !!

A brief computer graphics / rendering course
Tiny renderer or how OpenGL works: software rendering in 500 lines of code


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.

This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows.


WebGL-GPU-Particles. 1 million+ particles being moved around on the GPU via WebGL.

Simulating depth of field with particles on a shader


Examples and demos for the new Vulkan API

Yet Another Vulkan Engine

One stop solution for all Vulkan samples

Vulkan Samples Tutorials


Simple raytracer using DirectX Raytracing (DXR).


Image Based Lighting using DirectX 12.


Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo


Adaptive Screen Space Ambient Occlusion


A PIC/FLIP fluid simulation based on the methods found in Robert Bridson’s “Fluid Simulation for Computer Graphics”

Unity Shader

A port of Evan Wallace’s “Water Demo” for WebGL to Unity.



Real-time 3D visualization of space.


Bokeh Depth Of Field: A Physical Camera Effect created due to Focal Length, Aperture size, shape



Game Engine

Foundations of Game Engine Development

Metal by Tutorials


pbrt, Version 3

A simple parser for the PBRT file format

GPU Zen 2: Advanced Rendering Techniques Example programs and source code for GPU Zen 2

Foundations of Game Engine Development, Volume 2: Rendering (July 26, 2019)

Structuring 3D Geometry based on Symmetry and Instancing Information


Real-Time Shadows


Hands-On Game Development with WebAssembly

HLSL Editor

Visual Studio Plugin

A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files.

Shader Designer