Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Build a C++ ray tracer
·
Module 7
Surface Materials and Light Scattering
1
Scatterable Material Interface
Design an abstract 'material' interface with a 'scatter' method that defines ray-surface interaction.
2
Diffuse Reflection and Lambertian Materials
Explain how diffuse surfaces scatter light uniformly and implement a Lambertian material.
3
Recursive Ray Tracing for Multiple Light Bounces
Implement recursive ray tracing to simulate multiple light bounces.
4
Controlling Recursion Depth
Limit recursion depth to prevent stack overflow and control render time.
5
Vector Reflection Formula
Derive the reflection formula for a vector about a normal.
6
Configurable Metal Specular Reflection
Implement a 'metal' material class with configurable specular reflection fuzziness.
Gamma Correction for Perceptual Display
Apply gamma correction to linear color data for perceptually accurate display.
Previous module
Antialiasing and Depth of Field
Next module
Dielectric Materials and Refraction