![]() Microfacet RefractionThis work extends microfacet theory (eg, Cook-Torrance models) to handle refraction through rough surfaces such as etched glass globe shown. We also discuss the Smith shadowing-masking approximation for general microfacet distributions and good importance sampling strategies (which is essential when simulating transmitted light). Published at EGSR 2007. You can download the EGSR 2007 paper (pdf) here. |
Multidimensional LightcutsThis work extends the approach and concepts of Lightcuts to scalable rendering of complex effects such as motion blur, depth of field, and volume rendering. We achieve greater scalability by holistically considering complete pixel integrals and using an implicit hierarchy called the product graph.You can download the SIGGRAPH 2006 paper (pdf) and a movie from the The SIGGRAPH presentation slides are available in powerpoint or pdf formats, and a separate archive of clips on the movies page. (Note: the powerpoint file was created on a Macintosh computer and some of the graphs do not seem to display properly under Windows.) |
Lightcuts: A Scalable Approach to IlluminationComputing the illumination from complex sources such as area lights, HDR environment maps, and indirect, can be very expensive. Lightcuts introduces a new scalable algorithm for computing the illumination from thousands or millions of point lights. Using a perceptual metric, a binary light tree of clusters, and conservative per-cluster error bounds, we show that we can accurately compute the illumination from hundreds of point lights using only hundreds of shadow rays. A lightcut is cut through the global light tree that adaptively partitions the lights into clusters to locally control the cost vs. error tradeoff. We also introduce a related technique called reconstruction cuts that uses the lightcut framework to further reduce shading costs by intelligently interpolating illumination while preserving high frequencies details like shadow boundaries and glossy highlights.You can download the SIGGRAPH 2005 paper (pdf) (Note: several figures were printed incorrectly in the proceedings but are correct in the PDF) and a movie from the The SIGGRAPH presenation slides are available in powerpoint or pdf formats. A related technical report discusses several important implementation issues for the Ward BRDF including the correct sampling weights that should be used when using it associated Monte Carlo sampling distribution. |
Perceptual Illumination ComponentsDifferent components of global illumination have widely varying costs, but may not provide the same benefits to image quality. We performed a user study to examine this issue. We divided the illumination into several components based on the BRDF (indirect diffuse, indirect gloss, indirect specular), rendered images with different subsets of the illumination. We then had people rank the images and studied the results. What we found is the components had differing affects on user-ranking (though indirect diffuse was usually the most important), but that we could predict their importances quite accurately using a simple model and some simple image/material statistics. We think this can provide insight for creating more efficient rendering systems in the future.Published in SIGGRAPH 2004. More information can be found on the first author's page. |
Feature-Based TexturesBy adding explicit features (eg, discontinuity edges) to a standard raster-based textures, we can increase image quality, especially during magnification, with only minimal extra storage. Features can be automatically extracted from vector format images, approximated for raster images, or hand annotated.Published in EGSR 2004. More information can be found on this project page. |
Combining Edges and PointsBy combining edges (explicit discontinuities) and points (shading samples), we are able to reconstruct high quality images from relatively sparse data. By computing the exact locations of discontinuities, we are able to interpolate the sparse data without smoothing out these sharp features and we also show that knowing the subpixel location of the edges allows to compute good quality anti-aliasing almost for free and without supersampling. Our software implementation runs at interactive rates on the CPU and future versions should be able to exploit the GPU for even faster framerates.Published SIGGRAPH 2003. More information can be found on this project page. A GPU-based version was published at Graphics Interface 2006. |
The render cache enables interactive display by caching rendered results as colored 3D points, reprojecting them to estimate the current image, and automatically deciding which subset of pixels should be (re)rendered for future frames. Because the image generation and pixel (or ray) rendering happen asynchronously, we can guarantee a fast consistent framerate regardless of rendering cost (though renderering cost does affect visual quality). In our experiments we have found that we get very good visual quality when only one tenth the pixels are rendered per frame and acceptable quality when only one hundreth of the pixels are renderered per frame (the rest of the pixels are estimated by reprojecting older results).
This work was begun while I was a post-doc at the iMAGIS lab
in
Grenoble, France and continued at Cornell.
You can view a project page
here
(including a link to the Eurographics Rendering Workshop '99 paper ). (Powerpoint
presentation)
A followup paper, Enhancing
and Optimizing the Render Cache, appeared in EGRW
2002. (Powerpoint
presentation)
A
GPU-based
version was published at Graphics Interface 2006.
There is also a
web-downloadable binary so that you can try it out for
yourself or
download the C++ source code under GPL license and compile it yourself.
You can get my thesis
here .
You can get our Transactions on Graphics 1997 paper
here .
You can get our Eurographics Rendering Workshop '95 paper here
.
You can get our SIGGRAPH '97 paper
here
.
The path-buffer is a modified z-buffer with two z values per pixel. The extra z value allows us to use the the path-buffer and scan conversion to trace rays in a path tracing style algorithm. This reformulated algorithm is designed to be easy to accelerate using scan conversion and z-buffer type hardware. More details can be found in: