|
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. |
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.
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.
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.