Introduction#

Explanation and examples of modern rendering techniques commonly used for game engines.

Tip

If you are on your phone consider browsing through this link for better performance.

About#

This website will show and explain multiple usages of the low-level rendering library The Forge. It works in conjunction with the repository the-forge-samples which implements said tutorials.

đź“– Sources#

Websites#

Name

Founder(s)

Description

WebGL Fundamentals

-

Various tutorial on rendering techniques for WebGL 1 & 2

Learn OpenGL

Joey de Vries

Various tutorial on rendering techniques for OpenGL

Vulkan Tutorial

Alexander Overvoorde

A step-by-step tutorial to use Vulkan

Advances in Real Time rendering

-

Slides and Videos from SigGraph conferences

Scratch A Pixel

-

Tutorial on Computer Graphics theory

Blogs#

Name

Founder(s)

Description

Wicked Engine Dev Blog

János Turánszki

Dev blog of his game engine

Our Machinery Dev Blog

-

Dev blog of their game engine

3D Game engine programming

Robert Grigg

Various articles related to DirectX

The Ryg blog

Fabian Giesen

In depth articles about GPU structures. Known for his Trip trough the graphic pipeline series

Adrian Courrèges blog

Adrian Courrèges

Well known for his Graphics Study series of AAA games.

Alain Gavan blog

Alain Gavan

Different articles on graphic programming

Humus Name

Emil Persson

Blog of a Senior Graphics Engineer at Epic Games

Repi blog

Johan Andersson

Graphics programmer at Dice

Mirror2Mask

Natalya Tatarchuk

Lead and engineering architect at Bungie

ID software tiago

Tiago Sousa

Lead rendering programmer at ID Software

PataBlog

-

Rendering artisan on Dishonored 2

Create the matrix

Anoop Ravi Thomas

Senior Graphics Programmer at Rockstar San Diego

Game Art Tricks

Simon Schreibt

VFX artist at Wild Sheep Studio in Montpellier France

Articles#

Name

Author

Description

How Unreal renders a frame

Kostas Anagnostou

Data driven rendering pipeline

Gabriel Sassone

Videos#

Youtube channels#

Name

Author

Description

SketchPunkLabs - Learn WebGL

-

Various tutorials on rendering techniques with WebGL

GDC Vault

-

Many conferences from professionals in the game industry

The Cherno

-

Various videos on programming and graphics programming with content on OpenGL

ChiliTomatoNoodle

-

Various videos on programming and graphics programming with content on DirectX

On architecture#

Name

Description

Analysis

GDC - Multithreading Destiny

GDC 2015 talk by Barry Genova from Bungie

Destiny datum array accessed with handles, so there is no copy (maybe only on the rendering side, because it is not in sync with the simulation). Check at 29 min

Read and writes are declared with a policy, and a check is done between the jobs to check if the policies are compatible before the task starts.

If it is not, there is an assert and you need to review the way it is structured :
- Start after the end of the overlap (dependency)
- Copy data / cache data
- Queue messages so that the overlapping action is taken latter
- Change algorithm

Those checks are built-out in release. They call it the “Execution Environment”

API Code samples#

Name

Description

Sacha Willem’s Vulkan

Various rendering techniques with the Vulkan API

DirectX graphics samples

Microsoft official repository for code samples in DirectX 12

Vulkan Samples

Khronos official repository for code samples in Vulkan

Renderers#

This Gist offers multiple links related to renderers

Logo

Name

Description

Diligent Engine

Panda3D

Google Filament

The Forge

Unity graphics package

Open-source Game engines#

Logo

Name

Description

Unreal Engine 4

Cry Engine

Godot

Stride

NeoAxis Engine

Heaps Haxe engine

Flax Engine

Wicked Engine

Books#

Name

Description

Illustration

Game Engine Architecture

A famous book by Jason Gregory, a Naughty Dog engineer

Real Time Rendering

Famous book on rendering techniques

Game Programming Gems Series

Mark DeLoura compilation of articles by other developers

GPU Gems Series

Compilation of various articles by developers

GPU Pro Series

Wolfgang Engel compilation of articles by other developers

Game Engine Gems Series

Compilation of articles by developers

Fundamentals of Computer Graphics

A broad book explaining computer graphics from scratch

Physically Based Rendering

Matt Pharr, Wenzel Jakob, and Greg Humphreys revolutionary book on materials