- Cleaner build system organization (1 SConscript file per directory instead
of a single huge file)
- Robustness improvements to the KD-tree construction code (now does a better
job at handling degenerate triangles)
- Switched to an epsilon-free KD-tree traversal loop using Havran's T_{AB}^rec
algorithm
- Generalization of the KD-tree construction code (now supports plugging in
arbitrary tree construction heuristics)
- Addition of some utility code (LRU cache, adaptive Gauss-Lobatto
quadrature, etc.)
- Generic dense matrix class that supports arbitrary dimensions
- Pixel traversal within image blocks now uses a space-filling curve
ordering
- Added support for several noise functions from PBRT
- Cleanups of various top-level interfaces (Luminaires, Phase functions,
BSDFs, Participating media, etc.)
- Robustness improvements to the participating media code (faster + now
does a better job at dielectric boundaries)
- Added a basic tonemapping utility (can be invoked via mtsutil)
- primitive clipping is now more paranoid about roundoff errors
- significantly improved the kd-tree benchmark "kdbench"
- fixed a parallelization-related bug in the kd-tree builder
- fixed some remaining floating point issues in the min-max binning code
- completely moved TriMesh over to a more compact SoA representation
- the OpenGL renderer now sends smaller packets of geometry to the GPU, which
helps keep the operating system more responsive (NVidia drivers didn't like
the previous behavior much).
- Switched vectors classes to templates
- Moved most path handling over to boost_filesystem
- Nicer include file structure
- Better documentation for libcore
- Doxygen support
- Vector/Point/etc. data structures are now unitialized by default!