Raytracer

Basic Raytracer beginning
Raytracer with basic lighting
Raytracer with reflections and shadows
Raytracer with no artifacts visable

I woke up one saturday and decided it was time to join the ranks of those who have written raytracers.So I did.

The project contains 5 versions of the ray tracer which progressively improve the image rendered. Although version 5 is still work in progress and is mostly a conversion to a more OO method of handling the program.

Current features of version 5 are;

  • Point lights
  • Shadows
  • Reflections
  • Refraction (with Beer’s Law)
  • Two methods of super sampling.

Future improvements I’d like to make are;

  • Area lights
  • General mesh rendering
  • HDR lighting (either floating or fixed point)
  • KD Tree to improve the speed of things
  • Lua to define primatives/objects
  • Animation support via at least camera movement
  • Multithreading to support multiple cores (either native or OpenMP threads)
  • SSE ray bundling

The project uses CImg to save the rendered image out and there is also a version of the code which uses my custom library which captures and converts framebuffers to a format Ogg Theora can understand so that video of the rendering can be generated (a line by line generation).

Project Status

Work in progress however on hold until I’ve time to dedicate to it.

Requires

Visual Studio 2005
Boost libs for shared_ptr<> support.

Downloads

Ray tracers (0 bytes)
Source Code and Visual Studio 2005 project files

You must be logged in to post a comment.