I've always been interested in art and science/technology. I've been drawing since I was little and I've been programming since I had a computer. My very first programs where on my TI-85 calculator.
My first official programming classes were in high school (Pascal and C++) and it was a lot of fun! But I didn't love computers for the computers' sake. They're just a tool. What I love about programming is making that tool do exactly what you want to solve even more interesting problems. During High School, I was inspired by the visual effects work coming out of ILM and thought I'd love to marry my art with my interest in computers.
And that's just what I did when I got to college (BYU). While working on my BS in Computer Science, I took all the graphics classes I could find. I also audited as many animation classes as I could, thanks to a sympathetic Animation Professor. I continued on with a Masters in Computer Science, with an emphasis on computer graphics and was looking to earn a PhD when Pixar came knocking.
Actually, I had a friend in the graphics lab that had finished an internship with Pixar who encouraged me to interview when Pixar came out to the school. An internship turned into a run-of-show job, which turned into full-time employment.
While at Pixar I moved around a bit. I worked in the global technology department (they do software development for specific movies). I worked briefly in the studio's general software development group. I worked in the lighting department, both lighting shots and helping other lighters optimize their setups for better throughput. And I worked in the characters department, helping build the digital puppets that the animators animate. It was a lot of fun! There were lots of interesting problems!
But then we had a new problem. How do I help my kids know their grandparents better? We decided we needed to be closer. We found work at a startup studio in Salt Lake City, and made the move. But I'm always looking for interesting problems and good people to work with.
What problems can I help you solve?
There are more details in the "Projects" section on some of the particular projects mentioned below.
deeproot Studios
I joined as deeproot Studios was finishing their first 3D project. Their shading pipeline was very manual and error-prone. My first task was writing a shading pipeline that would bring look consistency, improve throughput, and minimize errors to better improve throughput for the following departments.
After getting a bare-bones shading pipeline in place, I was tapped to be the Lighting Lead for the next 3D project. I then started developing a lighting/rendering pipeline to again, better improve throughput for the project.
Pixar Animation Studios - Toy Story 4
Again, I led a stellar team of shading artists! It was my responsibility to guide technical and (to a lesser degree) artistic choices for character shading, such that they would satisfy our film's aesthetic and work well in the rest of the film's pipeline.
I built standard shaders that worked as a starting place for other shading work by other artists. I ported the cloth shader from Coco and updated it for our film. I built the first version of the human skin shaders that were used throughout the show.
I maintained relationships with the lighting department and art department to ease communication and facilitate collaboration. And in the later phases I supported the use of our characters as most of the team transitioned to other shows.
Pixar Animation Studios - Coco
It was my privilege to work on this movie. My primary responsibility was to support the cloth shader that was used for all of the garments on the show; to streamline it for the artists and make sure it delivered the look the art department wanted.
In addition to cloth support, I also helped shade the background skeleton garments. There were many of them!
I was the primary developer of the shader side of a color re-targeting system, that let the crowd department change the color of garments on the fly, while maintaining the work done in shading department (embroidery and graphics on garments).
Pixar Animation Studios - Cars 3
As a member of the characters shading team, I was responsible for bringing forward Mater's shading from an older toolset to the then modern toolset.
I developed and maintained a nightly rendering system that allowed us to better manage shading quality. It let us better track the progress of all our assets (props and characters) and allowed us to communicate those statuses to other departments (like art and lighting).
I developed and deployed a GUI wrapper for the render submission tool. Since Finding Dory, renders had to be submitted from the command line, which was error prone. This tool became the studio standard for the lighting, sets, and characters departments for at least the next few shows (till I left).
Pixar Animation Studios - Inside Out
As Character Shading Lead, I was responsible for guiding technical choices and coordinating / supporting an outstanding team of 10 or so people. I was responsible for maintaining a relationship between characters and both the lighting and art department. We had to deliver on look requests from art and make sure our work was usable by lighting, which for this film was challenging.
I was heavily involved in solving the artistic and technical challenges of finding a look for Joy, Sadness, and the other emotion characters. I personally shaded Sadness (the hair was shaded by Ben Porter).
We were also granted a patent on the technology we used to generate Joy's look. (US Patent #10,169,909 "Generating A Volumetric Projection For An Object")
Pixar Animation Studios - Good Dinosaur
I was primarily responsible for refactoring part of the surface shading code to ease the release of new features after the company switched to Global Illumination.
I also mentored new hires as they supported feature development for the lighting department.
Pixar Animation Studios - Cars 2
I supported the lighters' toolset. I also led a team of 6 that worked with the lighters to optimize their lighting setups for render time. We also developed a rendering technique to improve our raytracing results that we ended up patenting. (US Patent #9,208,610 B2, "Alternate Scene Representation for Optimizing Rendering of Computer Graphics")
Pixar Animation Studios - Cars 2
I was brought onto Cars 2 characters to support and prepare for character shading. I developed additional functionality in the shading code base to meet some challenges posed by our lighting department. I also developed some helper tools that improved the character shading workflow. I also shaded a few tertiary characters.
Pixar Animation Studios - Tools
With what I'd learned in Global Technology working on the lighting toolset, I continued that work in Production Engineering Department. This was a software development group that didn't work for a specific film production, they supported the entire studio.
Pixar Animation Studios - Cars Toons
When I was on the production, they were working on UFM and Monster Truck Mater. I shot lit on both of those shorts.
Pixar Animation Studios - Up
I continued supporting the lighters' toolset while also helping them optimize their lighting setups for render time. I also did some master and shot lighting on UP
Pixar Animation Studios - Up
While in the Global Technology department, I supported the lighting toolset used by the lighters. We added tools so that the lighters could light volumetric clouds, which was critical for UP. I also developed software tools to improve workflows and debug lighting setups.
Pixar Animation Studios - Shorts
I interned in the Shorts department. We were investigating resurrection of old assets (characters), how hard it would be, how much would work out of the box. I was mentored by many, but notably Dave Batte, Audrey Wong, and Tom Sanocki.
Brigham Young University
My studies emphasized computer graphics but I was also interested in signal processing.
My thesis, "Generalized Constrained Interpolation" was a continuation of work led by my advisor, Bryan Morris. We took his work in constraint-based interpolation for enlarging pictures and generalized it to other interpolation frame-works, e.g. fish eye. We also developed some additional constraints to the interpolation that improved the performance. It can be found here.
Some of my other smaller projects included watercolor-like rendering, simplistic automated music classification through spectral analysis, and a stab at facial recognition.
Brigham Young University
I also audited as many animation classes as I could. I also joined the animation majors on their Senior Project Petshop.
Let's talk about what I can do for you (demo reel on request).