After having interviewed at a number of places within the last three weeks, I’ve accepted a position at Rhythm & Hues, a major studio here in Marina Del Rey, California. So far, they’ve treated me like visiting royalty. What a great place to work!I’ve also agreed to speak at this years SIGGRAPH, the international computer graphics conference, in San Diego – that’s coming up on the 26th. (I was possibly going to speak at the Mensa conference again this year, but it’s been cancelled microsoft project alternative free.) And on the 28th, our son Charlie turns five years old! Things are still a struggle financially, but they’re finally starting to get a bit better. I’ll write more when I get time to breath.
When I first started, they were interested in somebody to edit a few web pages. However, what they really needed was an information distribution infrastructure of some kind, and they don’t have one. I have some ideas that I think will work out pretty well for them. We’ll see how receptive they are.
Almost ten years later, in 2013:
Post Mortem
I worked for Rhythm & Hues for very nearly 10 years. I went from web page editor to technical writer, to trainer, to technical animator. I wrote a total of 584 pages in a combined reference and user manual for the studio’s Academy Award winning hair and fur system, taught the studio pipeline for every discipline (including FX, which meant I had to learn Houdini too). Some of the animators I trained went on to win Academy Awards for their work on “Life of Pi”.
Then they laid us all off, at the same moment our lads were on stage accepting their BAFTA awards, they were getting pink slips back home. They laid off about 285 employees at the El Segundo studio with only 16 hours’ notice, which violates California State law. There was a class action suit to recover at least some of the money, and we won. I got all the back pay and accumulated vacation pay that was owed me, but most of the rest of them weren’t so lucky. Some of the senior people were owed $160,000 or more, and they’ll probably never see most of that money. Rhythm & Hues still exists, but they work on commercials and do single scenes on movies now, where they can get the gigs at all. They will never again be what they were. I was there during the studio’s golden years, and worked on more than sixty motion pictures, mostly uncredited.
That was in 2013. I was so hyperspecialized that I was unable to find regular work in the animation industry after that, and had to wander off into other fields, as many of my compatriots did. Some of the finest artists, illustrators and animators the world has ever seen are now doing their best to get buy selling real estate and whatever else they can get work doing. I was certainly not alone.
I’m still friends with many of them. Some still work in the industry, and are doing okay – but a lot of them just drifted off like steam from a kettle. I have no idea where most of them ended up.
That was Camelot.
It was not the first time I’d been at a company during its golden age, and hopefully will not be the last. Perhaps the next one will be one I make myself.
SIGGRAPH is coming up fast, folks – I’ll be speaking at the Art Center on the 26th on the past, present and future of computer animation (as if I actually know something about it – go figure). The lecture will be roughly based on one I gave at a Mensa conference a couple of years ago. If you see me at the lecture or on the exhibit floor, walk up and say hi!
Cylon probe, from the Battlestar Galactica reboot pilot
I’ve recently finished a short contract doing preproduction work on SciFi Channel’s new “Battlestar Galactica” mini-series, and now I’m working on some web development with PHP and MySQL, some Lightwave animation for a car commercial and an OpenGL game demo. Man, when it rains it pours.
I worked under the great Gary Hutzel, and worked under his direct guidance every single day. I was in heaven. I was told that there would be a place for me on production.
Then I got told that Hutzel had moved the whole production thing to Canada, and that I hadn’t been invited to come with.
This month I’ve won Artist of the Month at 3D Gladiators for some 2D work I did.
Also, I’ve just been hired to do preproduction work on Battlestar Galactica by a small company in Pasadena called Cinema Pacific. It’s a lot of fun, and very challenging and demanding gig. I’m having a great time so far. I can hardly wait to get to work in the mornings!
The winning entry for that contest is shown below. It was originally painted on posterboard in acrylic, and got a B, rather than an A, because the teacher thought it didn’t have a clear center of focus. I argued that it did, because for any face, the first thing you look at is the character’s eyes, so of course it did. The teacher didn’t agree, but I have an award for this painting that disagrees with her.
The nGENE
Here’s the source code and compiled binaries for my little OpenGL engine, which I have named the “nGene” after a suggestion by a coworker.
It’s a little odd as engines go in that it loads Lightwave 6.x (or greater) scene and model files and renders them, and then lets you fly a camera around and look at them. It lights the scene according to whatever lights you put in the scene, but all lights are translated as point lights. I never got spotlights or area lights working. It does respect global ambience settings in the scene, though, as well as maintain the hierarchical relationship between all the scene elements (i.e., parenting of scene elements is preserved at runtime.
To clarify the copyright status of the nGene, it’s open source and licensed under the LGPL, meaning you can use this code for your commercial projects if you wish, without having to worry about having to release the code for it or your own project along with the compiled form. By all means, steal the parts you like and toss them into your project if you think it’ll help. It’s why I wrote it in the first place. Note that I’m not responsible for the results, i.e, if it breaks, you get to keep all the pieces.
If you do download it, note that you’ll be in good company – the nGene has been downloaded over a quarter million times since I originally posted it.
Special thanks to gifted artist and animator Eric Estrada, currently a lighter at Dreamworks, for the 3D scan of his head.
It texture maps, but only UV textures, and there are a few ways to apply the textures in Lightwave that don’t actually work. The best approach seems to be to convert whatever conventional texture mapping you might have on your models into UV maps using the “Make UVs” tool in the “Map” toolset in modeler. Since the loader doesn’t handle DMAP chunks, models using cylindrical or spherical mapping need to have the vertices split at the seam, or you’ll get mapping errors. Also, I never got around to writing the polygon smoothing algorithm, so for now it’s flat shaded only.
The source code will compile under either Windows, using Microsoft Visual C++ 6.x or greater, or under Linux using GCC. Yup, it’s cross-platform code!
Download the source code, binaries and sample data here. It’s about 3 megs because of all the model files and textures and whatnot that you get with it. I wouldn’t get too excited if I were you – once I got the object and scene loaders working, the rest of the engine was done in about five days. It does give some good example code for reading objects in native Lightwave LWO2 format, though. By the way, in the ‘credit where credit is due’ department, I started with the example ‘C’ loader code written by Yoshiaki Tazaki at D-Storm.
UPDATE: I’ve only just now gotten around to fixing a problem with the project files that kept you from using KDevelop 2.1. I know 3.0 is out, that’s next, but at least this version works in Linux now. It’s a tarred, gzipped archive.
Once you’ve gotten it to compile (it shouldn’t be difficult if you know how to use the compiler at all), run it by giving a parameter of either a model file or a scene file. If you give it a scene file as a parameter, it’ll assume all the assets are right there in the same directory with you, even if the scene file says otherwise. If you give it a model file as a parameter, it’ll just load the model file and let you spin it around and look at it from different angles. If you can’t compile the project or don’t want to bother, binary executables are included for both Linux and Windows.
Interestingly, the Linux version runs significantly faster than the Windows version does, even though it’s exactly the same code. I think Linux just works better from the standpoint of interfacing the OpenGL API with the hardware. I know I could do a lot more about optimizing the rendering pipeline, though. Right now the only thing I do is sort the polygons by material; this cuts down on having to use the GL material commands for every single darned polygon, and it sped things up a lot. It’s still not a really quick engine as engines go, but it’s quicker than it first was.
I wrote this engine as an exercise, and I stopped before I finished it. There are leftovers and leavings of various ideas in it that I never implemented. The object and scene loading classes themselves are fairly clean, however, and I did my best to keep that functionality as encapsulated as possible so they could be reused by somebody else if needed. So don’t cringe when you read the code. You’ve been warned.
It was used by the UCLA Laboratory of Neuro-Imaging – here is the testimonial letter I received from Craig Schwartz:
E-MAIL: craig@nospamplease.loni.ucla.edu
X-Mailer: ELM [version 2.5 PL2]
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: ELM [version 2.5 PL2]
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Dear Gene,a few weeks ago you helped me with nGene – which I’ve been using to debug a small java library which creates LWO files as output. Although the contributed ModelViewer module did not have everything I wanted, and was unable to display the largest of my test data sets, it did enough (supported by nGene) that I was able to use it to keep my coding, thereby contributing significantly to my successful project. Many thanks! Craig SchwartzUCLA Laboratory of Neuro-Imaging
Recent Comments