CSCI 598: Scientific Visualization

Project 1: Volume Rendering.


The purpose of this project was to implement Levoy's algorithm for volume rendering. In 1987, Marc Levoy published a document on rendering 3D scalar fields through a method of ray casting. Unlike other ray casting techniques, this method involves sampling along the eye ray, and estimating alpha values using the calculated gradient within a specified radius of a desire isovalue. In this sense, this creates "soft" contours.

Attached file contains: project report, source code, datasets, and sample rendered images.

Download .tar File

Project 2: Contours, Peaks and Saddle Points


The purpose of this project is to (A) correctly implement a contouring algorithm, and (B) construct an algorithm to correctly identify peaks and saddle points. Contouring is a very effective method in topology for identifying sublevels and superlevels within a scalar field. The method involves drawing isolines by sweeping through the data and interpolating between grid points. The process by identifying peaks and saddle points is through a join tree algorithm.

Attached file contains: project report, source code, and sample rendered images.

Download .tar File

Project 3: Vector Field Visualization


The purpose of this project is to implement the line integral convolution algorithm in order to visualize vector fields. This program fulfills the assignment in two capacities: 1) A random texture is created and gradient is loaded. The vector field is therefore calculated from the gradient and smoothed over the random texture. 2) A photograph is loaded and the vector field is calculated from the image. That vector field is then convolved with itself to create a painting-esque photograph.

Attached file contains: project report, source code and sample rendered images.

Download .tar File