Basic support for intersecting against hard-coded analytic shapes for spheres and cubes. Lighting was direct illumination from point lights with shadows.
Basic support for intersecting against hard-coded analytic shapes for spheres and cubes. Lighting was point lights with shadows with Whitted raytracing for reflection.
Basic support for intersecting against triangle meshes (but without acceleration structures yet!) for generated cubes and planes, with analytical spheres, pointlights and Whitted raytracing.
Initial support for importing arbitrary triangle polygon meshes (from .3ds files) without smoothed normals and intersecting against them (still without acceleration structures yet, so very slow!).
Support for smooth mesh normals on arbitrary triangle meshes (calculated automatically), and added basic KDTree acceleration structure support for each polygon mesh to speed up ray/triangle intersection.
Converted to use bucketed (tiled) rendering, instead of previous scanline approach, which improved interactivity a bit. Also added initial support for procedural textures (checkerboard).
Initial (and slightly broken: occlusion ray distribution was wrong/uneven, which can be clearly seen in the render with bands of occlusion rather than the expected falloff with distance) Ambient Occlusion support.
Better, more physically-correct BSDFs for materials, along with initial Environment (IBL) light support (but without importance sampling at this point).
Added plausible material presets for different metals (not totally accurate at this point) with conductor BSDFs, and other tweaks to other BSDFs and presets. Models are Stanford Dragon and Headus Killeroo (http://www.headus.com.au/).
Not visible in render, but used to generate it: better UI, with improved transform manipulators and more robust undo/redo support. Model is Katana DCC example robot.
Fixed (code had existed for years, but was wrong beforehand) Oren Nayar rough diffuse model, allowing better representation of rough diffuse surfaces which are more 'realistic' than standard Lambertian models.
Initial basic homogeneous volume scattering support, with single scattering (I think?) with Henyey Greenstein phase function, and a basic diffuse material medium boundary. Model is Stanford Dragon.
Slightly more correct homogeneous volume scattering to approximate Sub Surface Scattering, although material medium boundary setup still isn't physically-correct at this point. Model is Stanford Dragon.
Added support for multiple scattering (although this render was still quite limited for cloud scattering, and the IBL luminance was clamped, as MIS hadn't been implemented yet), and sparse voxel grid support, allowing much better memory efficiency for large voxel sims.
Integration of Imagine into the Katana DCC as a Renderer plugin, allowing side-by-side comparison with Arnold and PRMan on production scenes with the same input geometry / layouts.