Skip to content

Tags: Chais/RayTracer

Tags

v2.1

Toggle v2.1's commit message
*Version 2.1*

Some optimisations and corrections. Greatly reduced the memory consumption by not storing all samples' results separately. Corrected solid angle sampling and issues with mesh lights.

v2.0

Toggle v2.0's commit message
*Version 2.0*

Features:
- Supported shapes: spherres, meshes
- Supported materials: Solid (no shading), lambertian (matte), phong (shiny), specular, transparent, textured
- Supported lights: Ambient, parallel, point, lambertian, sphere, mesh
- Supported cameras: Perspective (supports multisampling with configurable defocus aberration), realistic (supports multisampling with configurable defocus aberration, focal depth and aperture)
- Supported renderers: Ray tracing, path tracing
- Supported input: XML file specifying camera, lights and shapes. Meshes are read from OBJ files (no MTL support)

v1.5

Toggle v1.5's commit message
*Version 1.5*

Features:
- Supported shapes: spheres, meshes
- Supported materials: Lambertian (matte), phong (shiny), specular, transparent, textured
- Supported lights: Ambient, parallel, point
- Supported cameras: Perspective (supports multisampling with configurable defocus aberration), realistic (supports multisampling with configurable defocus aberration, focal depth and aperture)
- Supported input: XML file specifying camera, lights and shapes. Meshes are read from OBJ files (no MTL support)

This is a simple Whitted ray tracer doing recursion for specular and refractive materials. Total internal reflection exists according to Snell's law. The Beer-Lambert law can't currently abort recursion.

Memory management was fixed by migrating to shared pointers. Simple multithreading is achieved with OpenMP.

v1.0

Toggle v1.0's commit message
*Version 1.0*

Features:
- Supported shapes: spheres, meshes
- Supported materials: Lambertian (matte), phong (shiny), specular, transparent, textured
- Supported lights: Ambient, parallel, point
- Supported cameras: Perspective
- Supported input: XML file specifying camera, lights and shapes. Meshes are read from OBJ files (no MTL support)

This is now a simple Whitted ray tracer doing recursion for specular and refractive materials. Total internal reflection exists according to Snell's law.

The memory management is terrible. This thing is most certainly leaking all over the place. The example6 scene ran out of memory after using over 12 GB of RAM.

v0.5

Toggle v0.5's commit message
Added input file reading and support for meshes.

- Scenes can now be read from XML files, three examples are included.
- Geometry objects (shapes) can be specified from OBJ files. Parsing
  materials from OBJ is not currently supported.
- PugiXML added as additional, external dependency. Tiny OBJ Loader is
  included directly, as source code.
- Lambertien material fixed.

v0.3

Toggle v0.3's commit message
Version 0.3

**New features:**
- Solid material supporting Phong parameters
- Ambient and parallel lights
- Phong lighting

v0.2

Toggle v0.2's commit message
New features:

- Spheres in the scene
- Transformation of spheres

v0.1

Toggle v0.1's commit message
whitted_rt now copies ray direction to ray color.