RAYversion 1.1
An object oriented ray tracer
CS 542
Washington State University
Jason Jerald
Features
-
recursive ray tracing
-
procedural checkerboard texture maps
-
ambient, diffuse, and specular lighting
-
fog
-
Perspective viewpoint
-
multiple point lights
-
supports spheres, planes, and polygons of any number of vertices
-
reflections
-
transparency with the option of refraction
-
Windows95 compatiable
-
Windows code seperated to allow easy portability
Files
(set tab stop to 4 in order to view these files correctly)
-
Ray.exe The executable file.
-
RayMath.h RayMath.cpp
These files contain the Vector and Matrix classes
-
RayGraphics.h RayGraphics.cpp
These files contain the classes Light, Color, and Eye
-
RayObjects.h RayObjects.cpp
These files contain the all geometric objects used in Ray
-
setup.h Setup.cpp These file
contains various constants to be used in Ray. Some commonly used function
prototypes are used in this file. Some externed variables are also included
so all files can access them.
-
World.cpp This file creates the lights and all
objects along with their parameters.
-
TraceRay.cpp contains code to determine the
coloring of a specified pixel.
-
rayView.cpp This is the main function which calls
all other functions. The windows code is also within this file. The windows
code has been seperated from the C++ Ray code as much as possible.
-
ray.rc windows resources to be used for the windows
graphical interface. Data includes Ray about (under help) as well as personalized
bitmaps used for the cursor and other icons.
-
miscellaneous windows files. Contact the arthor if you need these files
in order to compile the project (Some of these files are large).
Comments
All code has been compiled using VC++ for Windows95. This is my first
project using VC++, so the windows code may not be structured as well as
it could be.
I am getting a small amount of noise in some reflections. This error
is currently being tracked down and should be fixed shortly.