- Theoretical introduction
- Technical introduction
- General setup (glm, glew, glfw)
- Main loop
- Interactions
- Programs and shaders compilation
- Errors and tips, debugging
- Rendering basic geometry
- Simple shaders
- Uniforms
[Explanations stop here]
- Textures
- Attributes
- Moving to 3D using matrix
- Camera
- Element arrays
- Meshes loading
- Lighting
- Complex uniforms
- Texture and Normal maps
- Effect maps (specular, AO)
- Cubemap : skybox
- Environment mapping: specular, irradiance map
- Gamma correction
- Simple framebuffer
- Shadow maps
- Antialiasing
- Distinct render and display resolutions
- Parallax mapping
- Variance shadow maps
- Deferred shading
- SSAO
- Resources managers
- Joystick support
- HDR, bloom
- Physically based rendering
[Code stops here]
- Raymarching techniques (SSR ?)
- Water/terrain/noise ?
- Temporal AA ?
- UI elements, text rendering (df)
- Particles, instanced drawing
- Geometry shaders ? TFb ?
- Tessellation ?