Develop excellent software. I'm mainly interested in computer graphics but am open to other challenges.
Maintaining and supporting our proprietary software renderer
for film and TV visual effects. Developing and migrating
shaders for renderers such as RenderMan, Arnold, and IRay.
Worked on a small team developing a proprietary software renderer used
for visual effects in feature films and commercials. Interacted with
artists to address rendering issues.
Maintained and supported
irradiance caching, subsurface scattering, shadow mapping, photon
mapping, and displacement. Highlights:
Implemented a global illumination renderer. Adapted it for
precomputed illumination of levelsets of 2D and 3D scalar heightfields for
Developed scientific visualizations
for use in a variety of publications.
- Added multi-threaded rendering mode. Efficient parallelization of the pixel loop, shading, subsurface
scattering, deep shadows, photon maps, irradiance cache, shading cache, hair reflection cache, etc.
- Extended irradiance cache with gradients, neighbor clamping, smoothing, and stable
- Added adaptive sampler, reduced caustic noise, implemented deterministic sampling
- Prototyped Open Shading Language support.
- Ported hair shaders to Houdini.
- Migrated department software codebase to new compilers and architectures.
||C++ (14 years), Perl (5 years), Python, C, bash, tcsh, MATLAB
||STL, Boost Threads, pthreads, gdb, gperftools,
valgrind, helgrind, git, CVS, Makefiles
Open Inventor, Open Shading Language, RenderMan, Houdini, IRay, OpenEXR
||Tiny path tracer that renders the Cornell Box in 99 lines of C++.|
Physically based renderer in C++ and Open Inventor.
Features path tracing and progressive photon mapping.
Octree, KD-tree, and BIH ray acceleration.
Triangle, sphere, levelset, distance field, instance, and IFS intersection.
Area and HDRI environment lighting with MIS.
Multi threading, pixel filtering, motion blur, and irradiance caching.
Tone-, texture-, bump-, and displacement- mapping.
Glare, participating media, blackbody emission, spectral rendering, and procedural noise.
Diffuse, specular, Schlick, Ashikhmin and Shirley, and measured BRDFs.
2D & 3D fluid simulator and visualization. Features vorticity
confinement, vortex particles, thermal cooling, texture warping, and
interactive volume rendering.
||Subdivision surface generator.|
Honors and Awards
|FSU ACM Programming Contest
||1st: 1997, 2004-Spr, 2004-Fall, 2005 2nd: 1998, 2001, 2002, 2003|
|ACM Southeastern Regional Programming Contest||6th (out of 71): 2001,
12th (out of 80): 1998|