my home page
computer.raytracing





This is a more serious attempt to do raytracing on real models in realtime ("real" means with more than 5 million triangles). It started as a personal project, and then into a profesional one. At some point I had to branch the code in orther to have a clean separation between both projects - all in this page is made with my personal branch of the raytacer. I cannot show the "real" models in this page because they are all under NDAs; but let's say that the big models contain several hundred millions triangles.

The raytracer is plugin based, on which both shaders and primitives are plugins. The architecture exploits multi-core CPUs and also systems with several CPUs on the same system. The interesting part of the project is probably the plugin for triangular meshes, that achieves a few million rays per second, and allows realtime navigation with basic shading (diffuse plus shadows). However, the purpose of a ray tracer is either to handle massive models (that I cannot show here as I explained), either to display "special effects". This two points you just cannot do with a rasterization algorithm (read OpenGL/DirectX) without having some pain in you brains.

All this activity happend during 2005. Since then, no much work has gone on on this topic :(






First two pictures are two images from a model I got from a CGTalk forum thread (here). I wondered what quality I could get in one tenth of the time artists usually use for high quality images. I made these ones without global illumination. If I remember well, this took 10 minutes to render.



This two images correspond to the same model. It's a medium size one, six million polygons. However the rendering time is not a lot bigger than for small models, since raytracing scale almost logarithmically. Just direct lighting is used with a bit of Ambient Occlussion. The texture on the second image is not a 2D bitmap, but a procedural 3D texture based on noise, celular and sinuoidal functions. The model is part of the Minastirith Project (www.minastirith-project.com) and were borrowed to Flavian Breboin (the programmer of the Minastirith project). If you dissable AO, you can confortably navigate in this one in realtime./



Same technique as for the previous images, but with nice 2D textures designed by the modeller. The model is very very small, just 66k5 polygons. It's the Atrium Sponza Palace, created by Marko Dabrovic http://www.rna.hr/home.htm






iņigo quilez 2005