Table of Contents
Twinkle (tentative name) is path tracer written C++. It will emphasize tracing implicit surfaces using physically realistic BRDFs in a distributed setting.
make
should create the twinkle executable, ./twinkle
.
make test
will run an assorted, disorganized collection of unit tests.
Shapes
- Sphere
- Plane
- Implicit Surface
- KD-tree-based triangle mesh
-
- quad (based on mesh) Lights
- Point
- Directional
- Shape-based
- Environmental (only one allowed) Surface integrators
- Basic path tracing
- intersection testing BRDFs
- Diffuse (Lambertian)
- Mirror (perfect specular)
- Oren Nayer
- Fresenel reflection (glass) Output Formats
- ASCII(Console)
- PPM Multithreading ToneMaps
- RSSF (local and global) Textures
- Grid
- Checker
- solid
- perlin noise