this is my new journal to document the progress of the path tracer I'm currently working on. It has no name currently, so it's currently called MPPT (stands for Massively Parallel Path Tracing) because I designed a (basic) network protocol to work with it which allows remote computers to grab work units (small parts of a specific render) from a server and send back the results, so that rendering goes faster.
It is coded in Free Pascal (and as such, is inherently cross-platform). See my Gallery for some renders. Note that this path tracer is not intended for real-time use but rather for photorealistic rendering, so it should be regarded as such.
Current features (as of the writing of this entry):
- unidirectional unbiased path tracing
- generic primitive support (currently has sphere, plane, triangle and a limited form of cylinder)
- generic material support (currently has diffuse, specular, glossy, dieletric refractive, and metal)
- only area lights are supported at the moment
- standard perspective camera with adjustable field of view
- very basic scene graph (crappy octree) as acceleration structure
- unbiased stochastic anti-aliasing
- RGB rendering
- bidirectional path tracing
- support for directional area lights and point lights
- texture support (+ environment map, etc...)
- geometric instancing
- better scene graph (probably a BVH)
- spectral rendering
- other camera types
- depth of field
- possibly motion blur
- and of course, optimize the code in general
Still a lot of work to do, and so little time (uni, etc...), but hopefully I can slowly knock off items from the to-do list as I go.