|
|
My professional interests span many aspects of Computer Graphics, though my primary focus has been in the field of Rendering. Here are a few topics I've explored in detail while working on the proprietary rendering software at Rhythm & Hues. Note:I have not had time to keep this page up to date with my latest work. Please refer to my publications page for the more recent work I've done.
I recently led the development of a
specialized hair rendering primitive for our renderer. It is loosely based
on the generalized cylinder "paintstroke" I developed at
the University of Toronto.
As computers grow faster and faster, displacement mapping is
quickly becoming a preferred alternative to the more efficient but physically
inaccurate technique of bump mapping. I am close to completing a project in
optimizing the displacement mapping functionality of R&H's
renderer. Motion blur is a basic requirement for any high quality
renderer. This year, the strong demand for large hair renders, fueled by Cats
& Dogs, entailed drastically speeding up our motion blur algorithm. By
using a simple but effective cheat, I was able to speed up most of our motion
blur renders by about 100% without any noticeable loss of image quality. Ray tracing provides a degree of realism that
surpasses what is achievable with a standard scanline renderer. When I began
working at Rhythm & Hues, the renderer had partial ray tracing capability,
but could not handle several important features, like motion blur, soft
shadows, refraction, depth of field, and caustics. Implementing these features
was one of my first big tasks at the studio. Visibility maps provide an inexact but very fast way to approximate diffuse
lighting coming from an environment sphere mapped with an arbitrary image. The
basic idea is to use ray tracing to sample the visibility occlusion of a piece
of geometry, and encode this information into a texture map that can be reused
for quick subsequent rendering. This is the topic of my Technical Sketch for
Siggraph '03. I take an active interest in
programming (well, it's my job). Here are some languages I like and a few sample
programs.
|