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

Blogs

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

Tutorials

Shader Development

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

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

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

Documents

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

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/

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

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

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

Game Engine

HTML5 Gameplay Framework

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

LLVM-to-Web

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

C++ Game Engine

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

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

Tools and Frameworks

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

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

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

HTML5 Renderer

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

Ray Tracing

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

Animation

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

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

Mesh

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

Optimization

PresentMon
https://github.com/GameTechDev/PresentMon

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

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

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

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

Input

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

Assets

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

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

Computer Vision

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

VOX format

Shaders for MagicaVoxel to simplify common and repetitive tasks.
https://github.com/lachlanmcdonald/magicavoxel-shaders

Demo & Example

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

Vulkan
Lighting

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

Unity Shader

A port of Evan Wallace’s “Water Demo” for WebGL to Unity.
https://github.com/shanecelis/water-demo

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

EBook

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

HLSL 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


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