Graham Thompson

Work and Experience

Employment

Current

Rhythm & Hues Studios
  • FX Development TD

Previous

CIS VFX Group
  • Technical Director
  • Pipeline IT Coordinator
Side Effects Software
  • Technical Director
  • Product Specialist
  • Intern
Rhythm & Hues Studios: www.rhythm.com

I currently work in the FX Development Group at Rhythm & Hues.

CIS VFX Group: www.cisvfxgroup.com

At CIS I was responsible for transplanting the sprite based crowd system, as well as numerous related assets, from Vancouver to Los Angeles for Clint Eastwood's movie Invictus.

Not only did I have to transplant the existing system, but I was also involved in a revamp of the sprite system design that resulted in increased cooking performance and a decrease in render times. This was a result of lots of Python code optimization, as well as a collaborated effort between various artists and technical people at both studios. We developed an adaptive system that could analyze sprite images and then discard extraneous pixel data to reduce memory and tranparency rendering.

I developed a series of scripts that could take elaborate scene assets requiring pipeline specific file hierarchies and data and convert them between studios. This enabled us to quickly transition to a newer version of a specific asset almost instantaneously. These scripts also provided a base to convert entire shot scenes to the Hollywood pipeline.

I also spent significant time developing and customizing assets for artist use as well as providing feedback and tool development for a few small tools back in Vancouver.

My work also included coordinating the transmission of large amounts of assets between studios.

Side Effects Software: www.sidefx.com

At Side Effects Software I started out as an animation intern doing demo type work. I particularly spent time working on a bunch of dynamics and fluid effects for various projects. I also spent some time attached to the team working on the demo for the Sony NAB presentation, utilizing the Cell Processor. For that I built a Sony HDTV asset and I worked on render/IFD optimization for an interactive demo wall.

After my short term as an intern I graduated to real employee and joined the Production team were I began writing the Auto Rig tools along with Calin Casian. It was quite the process writing such dynamic tools under pre-alpha conditions. I had no experience with Python before this but it seemed to work out in the end. I spent about 8 months building the standard auto rig tools, as well as the mocap extentions.

After that I transitioned to working with the r+d team where I spent time building/writing various assets, tools and scripts. Some of them include tools for particle fluids, geometry fracturing and other dynamics type things. I helped with upkeep and fixing of various other scripts and tools.

I also spent some time doing a few training type things and answering lots of questions on the forums.

HOM Videos

People seem to really love video content so I'm working on a bunch of videos covering some different aspects of HOM. These include dealing with nodes, creating parameters, and accessing DOPs data. I'd also like to do a video or two dealing with some 3d math type stuff, particularly working with vectors and matrices. Finally I've got a video half done that demonstrates my take on creating a Rubik's cube. I also need to record the two classes I taught at Side Effects Santa Monica over the summer and update them for Houdini 11.

Advanced geometry interaction using HOM

My goal with this thing is to provide more interesting ways of getting geometry information with HOM using inlinecpp functionality. These ideas include the ability to quickly and easily query connected points and primitives, copy attribute values, sampling nearby points, etc. Some of these are already in use in a couple of my assets but there's still some cool things I'd like to try and do.

Python Expression Reference

I get a lot of questions about how to replicate hscript expressions using Python. This little project is an attempt to provide a some reference showing different ways to accomplish this.

Valid XHTML 1.0 Strict