Graphics & Game Dev Resources
Community-curated links for shaders, optimization, tools, and learning paths.
Original source of the database was prepared by Radosław Paszkowski, Jan Mróz, Łukasz Bogaczyński and Peter Sikachev.
Engine
Domain
Format
Level
| Title | Eng | Brief description | Format | Domain | Level | Authors | |
|---|---|---|---|---|---|---|---|
| Animated math explainers on linear algebra, calculus, Fourier transforms, and other topics that underpin graphics and simulation. | Grant Sanderson | ||||||
| A 13-part series explaining the D3D/OpenGL graphics pipeline as implemented on real GPUs - command processor, vertex processing, rasterization, depth/stencil, pixel shaders,… | Fabian "ryg" Giesen | ||||||
| Global ACM community for computer graphics and interactive techniques. | ACM SIGGRAPH | ||||||
| 200+ tutorials on game dev math, shaders, Unity techniques, inverse kinematics, and ML topics. | Alan Zucconi | ||||||
| AMD's DX12 research framework for fast prototyping of real-time graphics algorithms. | AMD (GPUOpen) | ||||||
| AMD's open developer portal for graphics and compute - FidelityFX, FSR SDK, samples, performance guides, RDNA tuning articles, and research frameworks like Capsaicin. | AMD | ||||||
| Structured hands-on learning paths for mobile graphics, gaming, and ML on Arm hardware. | Arm Ltd. | ||||||
| Arm's mobile GPU/CPU profiler for Android and embedded targets. | Arm Ltd. | ||||||
| The work measures isolated rendering pipeline stages with a custom Unity 6000.2.9 engine loop, custom render pipeline, DX12, and the DXC shader compiler instead of profiling a full production scene. | Jan Mróz | ||||||
| Cross-platform, graphics-API-agnostic rendering library in a bring-your-own-engine style. | Branimir Karadzic | ||||||
| Case study optimizing a large Unreal scene with 2,500+ actors: Nanite versus manual LODs, shared master materials, batch utilities, and Insights tuning. | James Marland | ||||||
| Portfolio breakdown of a Borderlands-style Unreal post-process outline using depth and world-normal edges, distance LOD bands, Custom Depth exclusions, and Niagara VFX. | James Marland | ||||||
| Reference on multithreading and parallelism in C++ - threads, atomics, locks, and task-based designs. | Anthony Williams | ||||||
| Jasper Flick's long-running Unity and Godot tutorials, including the Rendering series on pipelines, lighting, and shader techniques. | Jasper Flick (Catlike Coding) | ||||||
| A spline camera records 1200 identical frames for Unity Profiler and Nsight on i5-10400F and RTX 3060 at 1440p. | Jan Mróz | ||||||
| A curated, filterable index of shader and Unity rendering resources - Cyanilux's own tutorials plus external links. | Cyanilux | ||||||
| Free online graphing calculator for plotting functions, parametric curves, and sequences. | Desmos | ||||||
| Scott Meyers guide to 42 best practices for C++11/14 - move semantics, smart pointers, lambdas, and avoiding common modern C++ pitfalls. | Scott Meyers | ||||||
| Technical-art blog with Unity production notes, scene readability breakdowns, OKlab color analysis, and URP diagnostic workflows. | Egor Nikolaev | ||||||
| Open-source Unreal Engine 5.6 C++ plugin for import-time asset naming, validation rules, Content Browser overlays, and optional pre-submit source control checks. | James Marland | ||||||
| It argues against cutting geometry because debug views look orange without millisecond proof. | Jan Mróz | ||||||
| Eric Lengyel's engine-focused math volume covering vectors, transforms, Grassmann/geometric algebra, and game-engine-relevant derivations with exercises. | Eric Lengyel | ||||||
| Second volume on real-time rendering for engine developers - color science, projections, lighting, shadows, fog, visibility, and advanced topics like volumetrics and ambient… | Eric Lengyel | ||||||
| Video tutorials visualizing math for graphics programming - vectors, splines, shader coding in Unity/HLSL, and geometric algebra. | Freya Holmer | ||||||
| A long-running series of tech-art breakdowns from shipped games (GTA V, Diablo, Zelda, etc.). | Simon Trümpler | ||||||
| YouTube playlist on game optimization for Unity and Unreal: budgets, CPU versus GPU triage, PIX analysis, and draw-call or shader tuning. | Ben Cloward | ||||||
| A practical guide to design patterns in game code - object pools, spatial partitioning, state machines, and more. | Robert Nystrom (Bob Nystrom) | ||||||
| YouTube tutorial on procedural terrain generation for games. | IGoByLotsOfNames | ||||||
| Official docs for Google's physically based real-time renderer - material model, lighting equations, image-based lighting, and mobile-oriented PBR design used in Filament and… | Google (Filament team) | ||||||
| A three-volume anthology of advanced GPU programming techniques, now free online. | Multiple contributors per chapter; edited/published by NVIDIA | ||||||
| International conference for real-time and interactive graphics programming, held in Breda. | GPC organizers | ||||||
| Interactive notebook that visualizes how IEEE half-float (fp16) represents numbers, including precision loss and range limits. | Ricky Reusser | ||||||
| The sheet with Paszkowski, Bogaczyński, and Sikachev filters resources by topic, level, and media. | Jan Mróz | ||||||
| Examples include stretched meshes, rare flashes, and hardware-specific QA reports from multi-week investigations. | Jan Mróz | ||||||
| It separates profilers from Frame Debugger and RenderDoc, which debug resources without per-draw durations. | Jan Mróz | ||||||
| Streamline streams continuous GPU performance counters from a USB-connected phone, but raw counter values and missing API labels make frames hard to interpret out of the box. | Jan Mróz | ||||||
| Opening stories show GPU-bound teams celebrating CPU particle wins, camera-angle skew in captures, and missed spike frames. | Jan Mróz | ||||||
| The original shader layers animated cellular (Voronoi) noise with distorted UVs and procedural value noise, with no texture assets. | Jan Mróz | ||||||
| Developer blog documenting a custom deferred rendering engine - HDR, global illumination, ambient occlusion, decals, and lighting revamps. | Phil (IceFall Games) | ||||||
| James Marland blog post mapping a beginner technical-art learning path through math, shaders, RenderDoc, and optimization reading. | James Marland | ||||||
| A large collection of written tutorials on procedural noise, raytracing, SDFs, distance functions, intersectors, voxels, and compression. | Inigo Quilez | ||||||
| Unreal Fest Orlando 2025 session on automating and standardizing performance capture for comparable traces across a project. | S. Cavanagh, M. Michaelides | ||||||
| Full university course lectures on interactive/real-time rendering - OpenGL, GLSL, textures, shadows, geometry/tessellation/compute shaders, and GPU ray tracing. | Cem Yuksel (University of Utah) | ||||||
| SBGames 2010 short paper on real-time water surface simulation techniques suitable for games. | - | ||||||
| Kostas Anagnostou's graphics programming blog - GI experiments, hybrid ray tracing, API abstraction notes, shader ISA analysis, and neural rendering explorations from a… | Kostas Anagnostou | ||||||
| Searchable index of graphics programming articles aggregated from Jendrik Illner's weekly newsletter issues on jendrikillner.com. | Jendrik Illner | ||||||
| Weekly/biweekly collections of new graphics programming related articles from across the web. | Jendrik Illner | ||||||
| Houdini tool to import LDraw LEGO parts - upstream dependency for the Tool Brick procedural pipeline. | Stefan Muller | ||||||
| Comprehensive OpenGL tutorial series from context creation through lighting, PBR, shadows, geometry/tessellation shaders, and compute. | Joey de Vries | ||||||
| Builds a modern Vulkan rendering engine (Raptor/Hydra) covering bindless resources, frame graphs, clustered deferred, mesh shaders, VRS, TAA, and RT effects. | Marco Castorina, Gabriel Sassone | ||||||
| Eric Lengyel's textbook on vectors, transforms, lighting, visibility, collision, and shader-related math for game engines. | Eric Lengyel | ||||||
| Online matrix calculator supporting symbolic variables, useful for verifying transforms, projections, and shader math by hand. | Community tool (author not prominently credited) | ||||||
| Performance tuning and debugging tool for DirectX 12 games on Windows and Xbox. | Microsoft | ||||||
| SimonDev talk on locating where frame time is spent before applying generic optimization advice. | SimonDev | ||||||
| NVIDIA's open-source rendering framework and sample base for RTX research and demos. | NVIDIA | ||||||
| System-wide performance profiler for CPU-GPU timeline analysis, threading, and API trace on Windows and Linux. | NVIDIA | ||||||
| Official Unity guide to the Profile Analyzer package, which aggregates CPU marker data across many profiler frames. | Unity Technologies | ||||||
| The motivating example renders waterfall occlusion with an orthographic depth texture and a shader that compares obstacle depth against surface positions. | Jan Mróz | ||||||
| The burning-object effect already simulates and draws on the GPU with compute shaders, append buffers, indirect dispatch, and indirect instanced rendering; this piece profiles each pass and tighten… | Jan Mróz | ||||||
| Unreal Fest 2024 session on UE5 advanced rendering, graphics performance, and memory management. | Mehmet Oztalay | ||||||
| Every pass uses a fixed camera angle, DX12, and Nsight Graphics so frame comparisons stay apples-to-apples. | Jan Mróz | ||||||
| Academy Award-winning textbook and literate-rendered path tracer implementation. | Matt Pharr, Wenzel Jakob, Greg Humphreys | ||||||
| Blog focused on Unity rendering, GPU/CPU profiling, and production optimization case studies. | Jan Mroz (Procedural Pixels) | ||||||
| The workflow targets Windows with DirectX 11 or 12 and an NVIDIA GPU (the author uses an RTX 3060). | Jan Mróz | ||||||
| Long-form breakdown of the Escape Asset Helper plugin: import hooks, naming, validators, editor overlays, and source-control pre-submit checks. | James Marland | ||||||
| In-depth UE5 horror vertical-slice optimization: level streaming, inspect render targets, Nanite and Lumen trade-offs, and reproducible launch arguments. | James Marland | ||||||
| Two-volume free online book series on real-time ray tracing techniques from industry experts. | Eric Haines, Tomas Akenine-Moller (editors); many chapter authors | ||||||
| Free online book series building a path tracer in C++ from scratch over a weekend-style pace. | Peter Shirley, Steve Hollasch, Trevor David Black | ||||||
| A reference grid of intersection tests between common geometric primitives (ray/sphere, AABB/triangle, etc.), with pointers to books, papers, and code. | Eric Haines (maintainer); references work by Inigo Quilez, David Eberly, Christer Ericson, and others | ||||||
| Official companion site for the Real-Time Rendering book series. | Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Angelo Pesce, Michal Iwanicki, Sebastien Hillaire | ||||||
| SCA 2010 NVIDIA paper on a hybrid CUDA water simulator that couples a shallow-water height field with splash particles and advected small-scale waves. | Nuttapong Chentanez, Matthias Müller | ||||||
| An illustrated, artist-friendly deep dive into the GPU raster pipeline - draw calls, batching, vertex fetch, rasterization, and bottlenecks. | Simon Trümpler | ||||||
| Open-source frame debugger for D3D11/12, Vulkan, OpenGL, and Metal. | Baldur Karlsson | ||||||
| A Burst job simulates gravity, noise, pull, drag, and bounce for large CPU particle counts before draw. | Jan Mróz | ||||||
| Virtual conference on the craft of building real-time rendering engines - architecture, workflows, tooling, and product/engine tradeoffs rather than single algorithms. | Steve McAuley, Angelo Pesce, Natalya Tatarchuk, Michael Vance (program committee) | ||||||
| It restates vertex and fragment roles and the levers artists actually control beyond hardware rasterization. | Jan Mróz | ||||||
| Free computer graphics course starting from ray tracing and rasterization basics with C++ examples. | Jean-Colas Prunier | ||||||
| In-depth blog posts on physically based shading, microfacet models, energy conservation, and advanced BRDF topics. | Stephen Hill, Naty Hoffman (and collaborators) | ||||||
| Platform for fullscreen GLSL fragment shaders with live coding and a large community gallery. | Inigo Quilez, Pol Jeremias (creators); community contributors | ||||||
| Unofficial but widely referenced knowledge base for ShaderToy - GLSL ES quirks, performance tricks, buffer usage, antialiasing, and SIMD/warp divergence. | Fabrice Neyret | ||||||
| Shell texturing re-renders meshes with normal offsets; raymarching marches rays inside a volume. | Jan Mróz | ||||||
| Classic SIGGRAPH course notes on simulating and rendering ocean surfaces, including Gerstner waves and FFT-based animation. | Jerry Tessendorf | ||||||
| Side-by-side reference of Cook-Torrance microfacet BRDF terms (NDF, Fresnel, geometry shadowing) using consistent notation and UE4 roughness. | Brian Karis (Epic Games) | ||||||
| The GPU supplies only SV_VertexID and SV_InstanceID, and the vertex shader fabricates positions, UVs, and normals for each quad or triangle strip. | Jan Mróz | ||||||
| Single-file public-domain C/C++ libraries for image loading/writing, font rasterization, and other common utilities. | Sean Barrett (nothings) | ||||||
| Unreal stylised ocean write-up with looped Gerstner waves in custom HLSL, fraction-based wave LOD, dispersion speeds, and artist-facing parameters. | James Marland | ||||||
| Three-part Unreal Engine Fast Profiling series: stat commands, launch parameters, and CSV tools for quick bottleneck triage and AB comparisons. | Malika Omarova | ||||||
| Unreal Fest Orlando 2025 session on practical Unreal Engine profiling workflow for technical artists. | Ashley Reuter | ||||||
| The algorithm is not a full fluid simulation; it approximates heightfields with slab-like building blocks discovered by accident but tuned for speed. | Jan Mróz | ||||||
| The case study starts with a procedural rock material built in Shader Graph: bevel edge detection on normal maps, triplanar wood and mud, and many texture samples that leave the GPU texture unit st… | Jan Mróz | ||||||
| Video tutorials on advanced fragment-shader techniques - noise, fractals, raymarching, domain warping, and creative coding. | Martijn Steinrucken | ||||||
| Alan Wolfe's blog on graphics programming, blue noise, sampling, path tracing, GPU sorting, and game-dev math. | Alan Wolfe | ||||||
| Gentle step-by-step guide to fragment shaders - shaping functions, patterns, image processing, simulation, and raymarching. | Patricio Gonzalez Vivo, Jen Lowe | ||||||
| Yan Chernikov's C++ and game-engine development channel, including the Hazel engine series, OpenGL/graphics episodes, and software engineering fundamentals for aspiring engine… | Yan Chernikov | ||||||
| Matt Pettineau's long-running graphics blog on D3D12 barriers, GPU-driven rendering, subsurface scattering, MSAA/signal processing, weighted blended OIT, and shader permutation… | Matt Pettineau (MJP) | ||||||
| Medium article on a practical stylised lake water shader in UE4 using Single Layer Water, animated normals, Fresnel refraction, and intersection foam. | M. Marier | ||||||
| Technical blog posts on spatial data structures (quadtrees, octrees), collision, and graphics algorithms with working code. | David Geier | ||||||
| The article argues that many issues blamed on lighting or materials actually come from evaluating shaders at pixel centers on a fixed grid. | Jan Mróz | ||||||
| SIGGRAPH 2015 slide deck on Guerrilla Games' Nubis volumetric cloud system for Horizon Zero Dawn, covering ray-marched modeling, lighting, and GPU optimizations. | Andrew Schneider, Nathan Vos | ||||||
| Blog post and paper page on teaching Vulkan in introductory graphics courses, presented at Eurographics 2022. | Johannes Unterguggenberger, Bernhard Kerbl, Michael Wimmer | ||||||
| This Procedural Pixels article by Jan Mróz presents a teaching mental model of the GPU rasterization pipeline for everyday optimization. | Jan Mróz | ||||||
| Breakdown of Tool Brick's Houdini side: PDG batching, stud-snapping geometry, and preparing LDraw parts for Unreal import. | James Marland | ||||||
| Procedural LEGO building pipeline for Unreal: LDraw ingestion, Houdini PDG stud-snapping, and in-engine placement covering roughly 945 parts. | James Marland | ||||||
| Structured Unreal rendering fundamentals blog series bridging engine rendering concepts and shader or material work. | Xingyu Lei | ||||||
| Widely used community Unreal project conventions for prefixes, suffixes, folder layout, and naming referenced in student pipeline tools. | Michael Allar | ||||||
| Ryan Dowling-Soka article on hooking Unreal post-import events with Python versus C++ import rule systems - the pattern extended in Escape Asset Helper. | Ryan Dowling-Soka | ||||||
| C++ reference implementation of configurable post-import validation and actions in Unreal, extended by Escape Asset Helper. | Ryan Dowling-Soka | ||||||
| The solver already handles velocity integration, static SDF colliders, iterative dynamic collisions, constraints, and invalid-position correction with Burst-compiled Unity Jobs. | Jan Mróz | ||||||
| It targets developers who want stylised or lightweight simulation without adopting the full rigid-body feature set of built-in physics. | Jan Mróz | ||||||
| It defines VRAM, the bus, and which shader and fixed-function paths stress bandwidth. | Jan Mróz | ||||||
| Follow-on official Khronos tutorial track that grows the basics into a simple engine structure with reusable abstractions. | Khronos Group | ||||||
| Official Khronos Vulkan tutorial introducing instances, devices, swapchains, render passes, and the explicit synchronization model. | Khronos Group | ||||||
| Describes a fast OIT method for rendering transparency (glass, smoke, foliage) without per-pixel sorting. | Morgan McGuire, Louis Bavoil (NVIDIA) | ||||||
| Ulrich Drepper's classic paper on CPU caches, memory hierarchies, NUMA, and prefetching. | Ulrich Drepper | ||||||
| Open-source C++ game engine with modern rendering features - real-time ray tracing, mesh shaders, GPU-driven rendering, and a lightweight editor. | Janos Turcsan (turanszkij) | ||||||
| After a long work day with many applications open, the author compares profiling sessions with and without a clean restart on a hobby Unity project. | Jan Mróz |
Loading resource table…