Kevin Beason

kevin.beasonatgmail.com     Los Angeles, CA
http://kevinbeason.com/ https://www.linkedin.com/in/kevinbeason

Objective
Develop excellent software. I'm mainly interested in computer graphics but am open to other challenges.

Experience
Sr. Software Engineer, Rhythm & Hues Studios May 2014 - present
Developing software for our studio to assist artists with rendering. Primarly achieved by supporting the studio's large software library, developing shaders and plugins for Arnold, Nuke, and Houdini, and by updating our lighting tool. Tasks include:
  • Arnold - Maintenance of in-house and 3rd-party shaders, version updating and testing
  • alShaders - Customized open-source shaders to decompose AOVs by light and reflection type, importance sampling fix, reduced memory for alHair
  • Crom/Fosfor - Maintain our in-house node-based lighting package which generates scene files for Arnold and submits jobs to the render farm
  • Queue - Increased memory utilization on our rendering farm
  • Nuke - Fixed a variety of issues in our scripts and plugins, including an unusably slow geometry reader
  • Pipeline - Performed user-requested updates to ingestion pipeline for geometry and textures
  • Sysadmin - Diagnosed and resolved incompatibility in PXE network booting on latest CPUs
  • RenderMan - Measured time and space costs for REYES and RIS, shader bug fixes, fur comparison
  • Houdini - Migrating plugin library to new version

Software Engineer, Rhythm & Hues Studios Jan 2006 - May 2014
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:
  • 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 placement.
  • Added adaptive sampler, reduced caustic noise, implemented deterministic sampling techniques.
  • Prototyped Open Shading Language support.
  • Ported hair shaders to Houdini.
  • Migrated department software codebase to new compilers and architectures.
Research Assistant, Dept. of C.S.I.T., Florida State University 2002 - 2005
Implemented a global illumination renderer. Adapted it for precomputed illumination of levelsets of 2D and 3D scalar heightfields for my thesis. Developed scientific visualizations for use in a variety of publications.

Skills
Languages C++, Perl, Python, C, bash, tcsh, MATLAB
Libraries STL, Boost Threads, pthreads, gdb, veclib (SSE), cvalarray, OpenMP
Tools git, CVS, gperftools, valgrind, helgrind, Makefiles
APIs Inventor, Open Shading Language, Arnold, Nuke, RenderMan, Houdini, IRay, OpenEXR

Education
M.S. Computer Science, Florida State University 2000 - 2005
B.S. Computer Science, Florida State University 1995 - 2000
Minors in Mathematics, Physics

Projects
smallpt Tiny path tracer that renders the Cornell Box in 99 lines of C++.
Pane 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.
Fluid 2D & 3D fluid simulator and visualization. Features vorticity confinement, vortex particles, thermal cooling, texture warping, and interactive volume rendering.
subd 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 Contest6th (out of 71): 2001,   12th (out of 80): 1998