home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume18 / mtvraytrace / part01 / ALGORITHMS next >
Encoding:
Text File  |  1989-03-26  |  1.6 KB  |  38 lines

  1.  
  2.  
  3. This should be more complete, but I really just wanted to point people at 
  4. the papers that I used in creating this raytracer.  Much thanks to all the
  5. excellent researchers and their papers, as well as the personal communications
  6. that I have had.
  7.  
  8. Ray/Object Intersections:
  9.  
  10. The sphere code is almost identical to the code given in Heckbert's EXCELLENT
  11. article "Writing a Ray Tracer" in the Siggraph Course Notes.  Paul Heckbert 
  12. is to be commended on his excellent article.  The general structure of my 
  13. raytracer is closely modelled after his.
  14.  
  15. Polygon intersections are modelled after the method described by Eric Haines 
  16. in his excellent paper, "Essential Algorithms for Ray Tracing", also in 
  17. the Siggraph course notes.  Between these two papers, much of the drudgery of 
  18. developing intersection code is removed.
  19.  
  20. The code for cone/cylinder intersections is fairly crude, but essentially my
  21. own derivation.  
  22.  
  23. Ray/Bounding Volume Intersections:
  24.  
  25. Rather than use octrees, I decided to use Kay/Kajiya bounding volumes, 
  26. as described in their 86 Siggraph paper, "Ray Tracing Complex Scenes".  Their
  27. method has proven to be fast and simple to implement.   The bounding volumes
  28. for the cones and cylinders could be improved to provide a "tighter" bounding 
  29. volume.
  30.  
  31. I "discovered" simultaneously with Eric Haines through our conversations that
  32. we could cheapen the cost of certain rays by establishing a max cutoff for 
  33. distance during the Intersect() routine.  
  34.  
  35. The shadow caching optimization was introduced to me through conversations
  36. with Eric Haines, although probably not original, and was quite simple to 
  37. implement in my raytracer.
  38.