- If a triangle mesh has materials specified per-vertex or normals specified per-vertex, you should interpolate these quantities at the current ray-triangles intersection point (using barycentric coordinates).
- The parser is very touchy about buggy files. It will crash. This is being worked on.
- The parser and scene graph leak memory. The program was originally designed to be a command line program, where this wasn't an issue. This, too, is being worked on. Don't worry about it. For once, I'm sorry that VC automatically spits out a bunch of complaints about these leaks.
- Speaking of command-line programs: if you take all the files in the Trace directory and copy them to a Unix system and make some small changes to the Makefile you'll get something that should compile and act like this:
ray <input-file> [-w width] [-h height] [-o <output-file>]
There are three files in the Trace directory that aren't used by the Windows program: Makefile, main.cpp, and ray.cpp. ray.cpp is just a copy of rayray.cpp. (Or the other way around depending on how you look at it.)
This is just FYI. (Although the ray tracer was completely developed under Unix. I must admit, though, that the debugger in VC beats anything I've ever seen under Unix.)