Skip to content

Releases: Chais/RayTracer

Version 2.1

20 Apr 20:34
Compare
Choose a tag to compare

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.

Version 2.0

13 Apr 10:32
Compare
Choose a tag to compare

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)

Version 1.5

19 Mar 17:54
Compare
Choose a tag to compare

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.

Version 1.0

26 Sep 15:39
Compare
Choose a tag to compare

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.

Version 0.5

20 Sep 13:57
Compare
Choose a tag to compare

New Feature:

  • Added point light sources
  • 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 finished.

Version 0.3

12 Aug 15:58
Compare
Choose a tag to compare

New features:

  • Solid material supporting Phong parameters
  • Ambient and parallel lights
  • Phong lighting

Version 0.2

05 Aug 18:01
Compare
Choose a tag to compare

New features:

  • Spheres in the scene
  • Transformation of spheres

Version 0.1

01 Aug 10:14
Compare
Choose a tag to compare

Feature set:

  • Basic perspective camera
  • Initial rays calculated
  • Ray direction used as color
  • Output to hardcoded png file

Dependencies:

  • Uses png++, a C++ wrapper for libpng, which consequently is also required