Header imageHeader image


ssRay is an unbiased Monte Carlo path tracing renderer capable of producing very realistic looking images. Images are generated basically by shooting billions of rays into the scene and letting them bounce based on physical laws. Path tracing provides very realistic images (see the image gallery) but is computationally very expensive. Those multicore CPUs are pretty handy with this program...

ssRay is written in C++ (actually I started this project to learn C++) and currently runs only on Linux. The program is under heavy development and still lacks some major features. At the moment there is no source code nor executable available.

If you have comments or questions, drop me an email: severi.salminen(at)saunalahti.fi

Latest blog entry:


Things to do:

1. Speed up kd-tree creation. It takes now too much time.
2. Implement instancing. Now I can't create an image with 1000 dragons as ssRay doesn't support instancing. With instancing every instance of an object simply has a pointer to the shape and material and a separate transformation. So 1000 dragons would require just one actual copy of the mesh data and 1000 pointers.

Latest images:

Just messing around with the previous image. I added a bit more detail to make it look more like real models. Yes, the textures are still very simple.
This image is just a kd-tree and box test. It has 520000 boxes and 40000 spheres, uses DOF and yet it was rendered in just 30 minutes. I'm quite impressed with the results! I still remember when I was impressed when I could render a scene with 625 boxes. This is quite a leap from that.

ssRay can finally render some more interesting shapes and more complex scenes without unbearable performance hit. Kd-tree makes it possible to have millions of objects in the scene and still have good rendering speed. This dragon model has 870000 triangles in it so there are 1,7 million triangles in the scene. Without using a kd-tree it would be impossible to render the image in any decent time - at least with current hardware.
ssRay now supports triangle meshes (and has very limited support for .obj files). Mesh support is a mandatory feature as all really interesting object are modeled and specified with triangles. This monkey comes with a well know modeler Blender and rendered very slowly because ssRay still lacks kd-trees. I know what to do next...