RAYversion
3.0
Procedural Mapping Using Noise
CS 542
Washington State University
Jason Jerald

Added Features
- Texture mapping of noise
- opaque texture mapping
- transparent texture mapping
- bump mapping
Comments
- The image
- the scene consists of four objects
- The ocean is a rectangle with bump mapping produced from noise
- The clouds are a plane with transparency mapping produced from noise
- The planets are spheres that are texture mapped using noise
- The code
- New classes Planet, Ocean, and Clouds
- The frequency of all maps can be user defined
Previous Features
- anti-aliasing
- reflection/refraction blurring
- area lights (soft shadows)
- motion blur
- approximation to Poisson sampling
- adaptive recursion
- pixel size
- 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)
- Noise.cpp This file contains Robert Skinner's
noise function for a single variable as well as a vector valued noise function.
- 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.
- Beach.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.
- miscellaneous windows files. Contact the arthor if you need these files
in order to compile the project (Some of these files are large).
Previous versions
Ray Version 1.1
Ray Version 2.0