Bio

Cameron Chrisman
M.S. Student
email: cchrisman "at" cs "dot" ucsd "dot" edu
resume: (pdf, html )

I am currently an M.S student at the University of California, San Diego studying computer graphics. My primary research interests are physical simulation and realistic appearance modeling, however I am interested in just about every aspect of computer graphics.

Projects

Fluid Simulation

Recently I have become interested in fluid simulation, particularly that of liquids. I wrote a full Navier-Stokes fluid solver using a combination of different techniques presented in recent graphics papers on fluid simulation. I started implementing Jos Stam's fluid solver from his 1999 paper "Stable Fluids", but several aspects of this solver turned out to be inadequate for simulating liquids, using an iterative Jacobi solver for either the viscosity or incompressibility terms of the Navier-Stokes equations results in dissipation and inaccuracy when viscosities are high. To remedy this, I implemented the implicit variable viscosity formulation and pressure projection steps described in Mark Carlson's 2004 paper "Rigid Fluids", which also allows for accurate handling of pressures at the free surfaces (important for liquids, not so much for smoke) at arbitrary atmospheric pressure.

This is still currently a work in progress, starting from my project in CSE291: Graphics and Simulation at UCSD, which also includes a report in ACM Siggraph format. Since what I implemented during the project was nothing new, I did not try to emulate a research paper on the subject, but instead noticing that many papers gloss over the nitty gritty details of implementing a fluid simulator, I tried to fill in several conceptual gaps in how to implement a simple fluid/liquid simulator.

Modeling Snow

As a one quarter project for Jensen's advanced appearance modeling class, I decided to try my hand at modeling photorealistic snow. My goal was not to develop an accumulation model for the geometry of snow, as this problem has been tackled before. There has, however, been almost no work in the computer graphics community on the actual surface appearance of snow, which represents a rich and necessary part of snow's visual presence. Part of the reason for this is that snow is a very strongly scattering material with significant surface mesostructure, making it a challenge to visualize, but it has undergone significant consideration in fields outside of computer graphics.

Snow reflectance is actually a very well studied in other communities such as climatology and optical physics. There are a wide variety of models, but one proposed by Bohren et. al. in the late 70s seemed well suited to computer graphics as it models individual snow grains as dielectric spheres. This is exactly the approach I took. Althought it is a relatively simple model, it accurately simulates the scattering properties of snow. What causes snow to be so white (and bright) is that as the thickness of the snow layer increases, there is a higher probablity that incoming light will leave the surface via total internal reflection or refraction (which means no energy loss), as opposed to traveling through to the underlying material beneath. This effect can be simulated by using monte-carlo path tracing to trace rays through a layer of dielectric spheres until it either hits a non-snow shaded material, or shoots off into space, hitting a domed shaped light source surrounding the scene. The details of my technique are discussed in the report below.

I did this as a single quarter project in Henrik's Advanced Appearance Modeling class, which includes a final report in the ACM Siggraph format.

Helios

I currently maintain a coded from scratch raytracer as a hobby and for my graphics research, which I dubbed "Helios", the greek god of the sun. A list of its features can be found in my resume above, but in short it includes a variety of global illumination algorithms such as photon mapping and path tracing, optimized acceleration structures, various distributed raytracing effects, and a collection of standard shaders.


Courses

Winter 2006

  • CSE 500 Teaching Assistant: CSE 167 Intro to Graphics
  • CSE 218 Software Engineering
  • Research
  • Fall 2006

  • CSE 500 Teaching Assistant: CSE 166 Image Processing
  • Research
  • Spring 2005

  • CSE 127 Computer Security
  • CSE 291 Graphics and Simulation
  • CSE 500 Teaching Assistant: CSE 130 Programming Languages
  • Winter 2005

  • CSE 221 Operating Systems
  • CSE 240A Princ/Computer Architecture
  • MATH 155B Topics in Computer Graphics
  • CSE 500 Teaching Assistant:CSE 169 Computer Animation
  • CSE 290 Sem./Computer Sci.: Graphics
  • Fall 2005

  • CSE 202 Algorithm Design and Analysis
  • CSE 272 Advanced Appearance Modeling
  • CSE 290 Seminar./Computer Sci.: Graphics
  • CSE 292 Faclity Research Seminar
  • CSE 599 Teaching Methods In Computer Science

  • About Me

    In my free time I enjoy cooking, hiking and backpacking, swimming, cycling, and pretty much all racquet sports. If you want to see pictures of these things, click here :)