Section
Graphics
Basics
1Color is numbersLesson · beginnerHow color is written down, and the three operations that almost every material formula is built from: multiplication, addition and blending.2Normals and lightLesson · beginnerWhy a face turned toward the sun is brighter, and how a rock made of a couple of thousand triangles can look detailed.3UV: how a picture gets onto a modelLesson · beginnerHow a point on a model finds out which pixel of a texture to take: addresses, unwrapping, seams, texel density and tiling.4Shader: a function for every pixelLesson · beginnerWhat a shader is, how a triangle becomes pixels, why a node graph in Unreal is code that runs for every pixel, and what that costs.5Surface properties: roughness, metallic, AOLesson · beginnerWhy some things shine and others look matte, why metal has no diffuse color, and what the PBR channels Roughness, Metallic, Specular and AO actually mean.6Material: a shader plus dataLesson · beginnerWhat a material is in any engine: a shader with numbers and textures plugged in. Why code is kept apart from data, where instances and shader variants come from, and how that affects speed. The same idea in Unreal, Unity, Godot and Blender.
Space
Spaces: where a point isLesson · coreObject, world, camera and screen coordinates: how a vertex travels from the model to a pixel, and which Unreal nodes return coordinates in which space.Tangent space and normal mapsLesson · in depthWhy a normal map works at any rotation of the model, what the tangents at the vertices store, and where seams after baking come from.
Textures
Materials
Light
Direct and indirect lightLesson · coreThe sun, the sky and bounced light: why shadows are never black, why twice as far means a quarter as bright, how many lux the sun and a room get, exposure, bounces, and the ways to do global illumination, from ambient light to Lumen.Shadows: maps, cascades and soft edgesLesson · coreHow an engine knows that a point is in shadow: the shadow map seen from the lamp, jagged edges, shadow acne and bias, shimmering and texel snapping, cascades for the sun, penumbra from the size of the light, PCF and PCSS, the cost of shadows from lamps, and contact, virtual and ray-traced shadows.Reflections: cubemaps, SSR and LumenLesson · coreHow a shiny surface knows what it reflects: the reflection vector, cubemaps and probes, parallax correction, blur by roughness, Fresnel, screen space reflections and their holes, planar reflections, rays and Lumen, the queue of methods and reflection leaks.Baked and live light: lightmaps and LumenLesson · coreLight computed ahead of time against light computed in every frame: the lightmap and its second unwrap, density, blotches, stair-steps and leaks across seams, probes for moving objects, static, stationary and movable lights, Lumen with its cards, distance fields, lag and leaking, and how to pick a method for your game.
The frame
How an engine draws a frame: passes and the G-bufferLesson · in depthThe frame as a chain of passes: forward and deferred rendering, the G-buffer and hundreds of lamps, Forward+, the order from depth to interface, and finding material errors with Buffer Visualization.Depth buffer: what is closer to the cameraLesson · coreHow a graphics card decides which triangle is in front, why depth is stored unevenly, where the flicker of coinciding surfaces comes from, and how depth gives water a soft edge.Transparency: Opaque, Masked, TranslucentLesson · coreWhy foliage uses Masked, why transparent things are expensive and get sorted wrongly, and how a new color blends with one that is already drawn.Anti-aliasing: stair-steps, flicker and TSRLesson · coreWhy edges turn into stair-steps while wires and highlights flicker: the pixel as a single sample, three kinds of aliasing, supersampling, MSAA, the FXAA and SMAA post filters, temporal anti-aliasing with jitter, history, motion vectors and rejection, ghosting and blur, the TSR, DLSS, FSR and XeSS upscalers, and what an artist can do.LOD, instancing and Nanite: drawing a million blades of grassLesson · coreHow a big scene stays within budget: the two prices, triangles and draw calls; levels of detail chosen by screen size, popping and dithering, HLOD and impostors; why small triangles are expensive; instancing and per-copy data; culling by frustum, distance and occlusion (Hi-Z); and Nanite, with its clusters, its errors under a pixel and what it dislikes.Fog and post-processingLesson · coreWhat happens to the picture after lighting: exposure and auto exposure, tone mapping and why it changes colors, color grading and LUTs, exponential, height and volumetric fog, bloom, vignette and grain, depth of field and motion blur, SSAO, and the order and cost of effects.The frame budget on the graphics cardLesson · in depthThe last lesson of the course. The frame budget in milliseconds (16.7 ms at 60 fps) and why to count in ms rather than FPS; the CPU and the graphics card working at once, with the slowest link setting the frame, and the resolution test; input latency and the frame queue; the cost breakdown of the GPU frame by the passes of the course; why grass, shadows and transparency are expensive; video memory, texture streaming and what happens when it overflows; finding the bottleneck with a profiler; and a checklist of savings for artists.