Kevin Beason     Los Angeles, CA

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

Sr. Software Engineer, Rhythm & Hues Studios May 2014 - present
Supporting the studio's large software library including applications, shaders, and plugins for Arnold, Nuke, and Houdini, and our custom queue, pipeline, and lighting tools, in C++, Perl, and Python. Plus some systems administration. Some of the things I've worked on include:
  • Queue - Support our render queue manager, file transfer, and asset tracking systems in Perl and C++
  • Houdini - Adapt our shaders, nodes, and plugins for version upgrades and Arnold integration
  • Systems Administration - Diagnose and resolve issues on Linux, Solaris, and VM systems in two countries, RAID recovery, backups, MySQL DBA, OS migration, PXE booting
  • Arnold - Support 1st & 3rd party shaders, installation, troubleshooting, testing, bug reporting
  • Crom - Develop Arnold shader nodes for our lighting tool in Python and C++

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.
  • Added multi-threaded rendering. Efficient parallelization of the pixel loop, shading, subsurface scattering, deep shadows, photon maps, irradiance cache, shading cache, hair reflection cache, using boost::thread, memory barriers, Quiescent State based Reclamation (RCU)
  • 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
  • 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.

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

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

smallpt Small path tracer that renders the Cornell Box in 99 lines of C++.
Pane Physically based renderer in C++. Features path tracing and progressive photon mapping. Octree/KD-tree/BIH ray acceleration. Triangle/sphere/levelset/SDF/instance/IFS intersection. Area/environment lights with MIS. Multi-threading, pixel filtering, motion blur, irradiance caching. Tone/texture/bump/displacement/noise mapping. Glare, participating media, blackbody emission, spectral rendering. Diffuse/specular/Schlick/Ashikhmin&Shirley/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-Spring, 2004-Fall, 2005   2nd: 1998, 2001, 2002, 2003
ACM Southeastern Regional Programming Contest6th (out of 71): 2001,   12th (out of 80): 1998