How many raytracers have you written? I think I must have done 50 or so by now, some really simple and specific for a demo, others more generic and one even professional. This is just one more of those raytracers, done during 2003 after I read read about Renderman (by Pixar) and I encountered the word "shader" for the first time in my life. Well, then since everything has been about shaders around me.
This page contains some images and a video of the first raytracer I wrote that supported light and surface shaders as standlone little programs to run during surface and light evaluation. I did everything in software rendering of course, and I implemented all of the basic shaders I could find in that paper. This paper by Pixar was such a true revelation to me, and the reason for me to buy a graphics card that same week and start learning OpenGL and hardware shaders the month after (which result was Paradise). The two weeks test raytracer contained the following features:
Raytracing experiments of 2001 and 2003
Reflecions - 2001
Polyon meshes - 2001
Procedural shader, motion blur - 2003
Ambient occlusion - 2003
Volumetric raymarching - 2003
Light scattering - 2003
Julia sets (raymarching) - 2001
Julia sets (raymarching) - 2001
This page contains some images and a video of the first raytracer I wrote that supported light and surface shaders as standlone little programs to run during surface and light evaluation. I did everything in software rendering of course, and I implemented all of the basic shaders I could find in that paper. This paper by Pixar was such a true revelation to me, and the reason for me to buy a graphics card that same week and start learning OpenGL and hardware shaders the month after (which result was Paradise). The two weeks test raytracer contained the following features:
- Raster space antialiasing
- Time antialiasing
- Camera exposition simulation
- Surface shaders (procedural texturing and lighting)
- Volume shaders (procedural volumetric effects, see first video)
- Reflections, refractions, shadows
- Able of raytrace spheres, cylindres, cubes, planes, cones, revolution objects, 3d julias and polygonal meshes.
- Lame bump mapping
Raytracing experiments of 2001 and 2003
Reflecions - 2001
Polyon meshes - 2001
Procedural shader, motion blur - 2003
Ambient occlusion - 2003
Volumetric raymarching - 2003
Light scattering - 2003
Julia sets (raymarching) - 2001
Julia sets (raymarching) - 2001