A progressive path tracer written in taichi
- Global illumination via unbiased Monte Carlo path tracing
- Physically based Specular shading(GGX)
- Lambert diffuse shading
- Ray-Sphere intersection
- Unbiasd russain roule
- Antialiasing via super-sampling
- Depth of field effect of lens camera
- Multiple Importance Sampling
- Balance heuristic
- Cosine-weighted pdf
- ggx normal weighted pdf
- ACES Tone mapping
- Bloom effect
- Gamma correction of final result
The 5 balls in the scene are:
- rough golden ball
- smooth ceramics ball
- the light source ball
- huge ground rough iron ball
- smooth metal ball
pip3 install taichi
python3 pt.py
and you a ready to go.
Scroll mouse to zoom in/out, press and drag the mouse to see a interactive result. You can also press shift while scrolling mouse to change the focal length of the camera.