Overview of graphics programming
https://renderdoc.org/blog/Graphics-in-Plain-Language/Part-1.html
- Deferred rendering
- Textures
- Geometry
- Reflections, cube maps, fisheye render
- Culling
- Mipmapping
- Object LOD
- Shadows
- Vertex shaders
- Animations, skeleton
- Animation of faces
Lessons for beginners
https://www.scratchapixel.com/index.html
- huge collection of lessons
Coordinate systems
Bounding box
https://gpfault.net/posts/aabb-tricks.html
Textures
Normal mapping and tangent space
https://www.shlom.dev/articles/geometry-behind-normal-maps/
Mipmapping
Selection of mipmap level, how does it work?
https://pema.dev/2025/05/09/mipmaps-too-much-detail/
Lighting
Shadows
https://30fps.net/pages/videogame-shadows/
Tone mapping
https://ventspace.wordpress.com/2017/10/20/games-look-bad-part-1-hdr-and-tone-mapping/
- Tone mapping
- High Dynamic Range (HDR)
Techniques
https://www.elopezr.com/the-rendering-of-middle-earth-shadow-of-mordor/
- Depth pre-pass and open worlds
- Reverse Z
https://pr0g.github.io/mathematics/graphics/2023/08/06/reverse-z.html
- Reverse Z
https://developer.nvidia.com/content/depth-precision-visualized
Overview of APIs
https://alain.xyz/blog/comparison-of-modern-graphics-apis
Modern GPU architecture
https://codeconfessions.substack.com/p/gpu-computing
https://blog.codingconfessions.com/p/gpu-computing
Clean examples of modern GPU rendering
https://github.com/floooh/sokol-samples/blob/master/metal/texcube-metal.c
FANTASTIC collection of shaders for planet-scale rendering
https://github.com/Prograda/Skybolt/tree/master/Assets/Core/Shaders
Rendering water
https://www.jayconrod.com/posts/34/water-simulation-in-glsl
Rendering grass
https://hexaquo.at/pages/grass-rendering-series-part-1-theory/
Shader editors
https://shadered.org/ https://www.shadertoy.com/
GPU-driven
A great introduction to GPU-driven rendering:
https://alextardif.com/BindlessProgramming.html
Use of SSBOs
https://www.khronos.org/opengl/wiki/Shader_Storage_Buffer_Object
GPU-driven forward renderer
https://logdahl.net/p/gpu-driven
GPU-driven meshlet rendering
https://news.ycombinator.com/item?id=44043045#44048513
https://developer.nvidia.com/blog/introduction-turing-mesh-shaders/
https://developer.nvidia.com/blog/using-mesh-shaders-for-professional-graphics/
https://interplayoflight.wordpress.com/2025/05/05/meshlets-and-mesh-shaders/
Profilers
Analysis using Renderdoc
https://blog.paavo.me/cities-skylines-2-performance/
Articles on GPU-driven rendering
”GPU-Driven Rendering Pipelines” 2015 by Ulrich Haar, Sebastian Aaltonen https://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf
”A Deferred Material Rendering System” 2015 by Tomasz Stachowiak https://h3.gd/a-deferred-material-rendering-system/
“Optimizing the Graphics Pipeline With Compute” 2016 by Graham Wihlidal https://www.gdcvault.com/play/1023109/Optimizing-the-Graphics-Pipeline-With
”Bindless Texturing for Deferred Rendering and Decals” 2016 by Matt Pettineo https://therealmjp.github.io/posts/bindless-texturing-for-deferred-rendering-and-decals/
“Experiments in GPU-based Occlusion Culling” 2017 by Kostas Anagnostou https://interplayoflight.wordpress.com/2017/11/15/experiments-in-gpu-based-occlusion-culling
”Nanite, A Deep Dive” 2021 by Brian Karis, Rune Stubbe, Graham Wihlidal https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf
”Visibility Buffer Rendering with Material Graphs” 2021 by John Hable http://filmicworlds.com/blog/visibility-buffer-rendering-with-material-graphs/