← Shaders: 3D and rendering

⇄
Length

Program
History and progress transfer
Choose a topic β€” problems will keep coming one after another for as long as you like

Theory of all steps of the program by blocks. Open a topic to read it.

How a session goes

A session is 10–90 minutes: a warm-up on what you've learned, new steps with short theory and problems, practice. Each problem gives two tries: 100 points on the first, 60 on the second; after the second mistake the correct answer is shown. You move on in the program if 70 % of the problems are solved.

Problems with numbers are generated anew every time a step is repeated. A fractional answer can be entered with a comma, a point or as a fraction: 0,5, 0.5, 1/2. In Practice any topic is available without a timer.

About the course

The vertex shader and lighting, normal maps and parallax, textures, render to texture and ping-pong, shadow maps, PBR basics, raymarching, voxels, debugging and other shader languages.

Course program: 50 lessons

The vertex shader and geometry

  1. Vertex shader: model, view, projection
  2. Passing data to the fragment shader
  3. Deformation: scaling and offset
  4. Waves on a grid
  5. Twisting
  6. Lambert lighting
  7. Vertices: mixed practice
  8. Checkpoint: the vertex shader

Normal maps and parallax

  1. Normal maps and TBN
  2. Normal map with color and highlight
  3. Parallax
  4. Checkpoint: normal maps and parallax

Textures, render to texture, ping-pong

  1. A texture on a mesh
  2. Repeating and scrolling a texture
  3. Filtering and mipmaps
  4. A full-screen picture
  5. Render to texture
  6. Ping-pong: the previous frame
  7. The Game of Life
  8. Checkpoint: textures and render to texture

Shadows with a shadow map

  1. Shadow map
  2. Depth bias
  3. Soft shadow edge (PCF)
  4. Checkpoint: shadows

PBR basics

  1. Blinn–Phong highlight
  2. Fresnel
  3. Roughness: GGX
  4. Environment reflection
  5. HDR and tone mapping
  6. Checkpoint: PBR

Raymarching

  1. Raymarching: the first sphere
  2. A normal from the distance function
  3. A scene from distance functions
  4. Soft shadows
  5. Ambient occlusion (AO)
  6. Infinite repetition
  7. Raymarching: build a scene
  8. Checkpoint: raymarching

Voxels

  1. Voxels by simple stepping
  2. Grid traversal: DDA
  3. Voxels from a 3D texture
  4. Lighting voxels
  5. Voxels: mixed practice
  6. DDA: once more
  7. Checkpoint: voxels

Debugging, performance, other languages

  1. Debugging with color
  2. Common bugs
  3. Performance
  4. HLSL and WGSL: the same in other words
  5. Checkpoint: debugging and languages