Category : C Source Code
Archive   : MTVSRC.ZIP
Filename : ALGORITH

 
Output of file : ALGORITH contained in archive : MTVSRC.ZIP


This should be more complete, but I really just wanted to point people at
the papers that I used in creating this raytracer. Much thanks to all the
excellent researchers and their papers, as well as the personal communications
that I have had.

Ray/Object Intersections:

The sphere code is almost identical to the code given in Heckbert's EXCELLENT
article "Writing a Ray Tracer" in the Siggraph Course Notes. Paul Heckbert
is to be commended on his excellent article. The general structure of my
raytracer is closely modelled after his.

Polygon intersections are modelled after the method described by Eric Haines
in his excellent paper, "Essential Algorithms for Ray Tracing", also in
the Siggraph course notes. Between these two papers, much of the drudgery of
developing intersection code is removed.

The code for cone/cylinder intersections is fairly crude, but essentially my
own derivation.

Ray/Bounding Volume Intersections:

Rather than use octrees, I decided to use Kay/Kajiya bounding volumes,
as described in their 86 Siggraph paper, "Ray Tracing Complex Scenes". Their
method has proven to be fast and simple to implement. The bounding volumes
for the cones and cylinders could be improved to provide a "tighter" bounding
volume.

I "discovered" simultaneously with Eric Haines through our conversations that
we could cheapen the cost of certain rays by establishing a max cutoff for
distance during the Intersect() routine.

The shadow caching optimization was introduced to me through conversations
with Eric Haines, although probably not original, and was quite simple to
implement in my raytracer.


  3 Responses to “Category : C Source Code
Archive   : MTVSRC.ZIP
Filename : ALGORITH

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/