Math 155B - Spring 2001
Getting Started with the Ray Tracing Project
For the new version of the ray tracing software with Bezier patches, there is a new directory with all the new code See the instructions in red below for the differences in using it instead of the original code. There is no reason to switch to the new code other than support for Bezier patches.
To get started using the RayTrace project, you should be aware that it is broken into four projects, all contained in the single RayTrace workspace. The three projects are:
Two top level projects RayTrace and RayTrace2. This is the level at which the scene is described (in terms of lights, materials, and viewable geometric objects). The source files RayTraceData.cpp and RayTraceData2.cpp specify these items. In addition, the recursive ray tracing algorithms are implemented in the main programs RayTrace.cpp and RayTrace.cpp.
The second level is the the Graphics project. This contains the implementation of the lighting model calculations and the geometric intersection routines. It also contains the implementation of the pixel array. Most of you will not need to look at this, except at the .h header files to learn more about the interface.
The third level is the VrMath project. This has low level linear algebra routines. Most of you will not need to look at this at all.
Getting started: You should first set up your own copy of the RayTrace project. For this, do the following:
If you transfer files to a home computer, or otherwise do not follow the above directions: You will have to tell Visual C++ where to find the various projects: if necessary, remove the projects from the workspace and then re-add them. In addition, Visual C++ may not be able to find the right source files: in this case, remove them from the project and then re-add the correct files.. The programs RayTrace.cpp, RayTraceData.cpp, RayTrace2.cpp and RayTraceData2.cpp explicitly mention the P:RayTraceProjects path name, so you will also have to change various #include commands to get the correct header files.
You can save time copying or transferring files if you do not transfer the contents of the Debug or Release directories, or files that end with .opt or .ncb.