Sunday, January 13, 2013

The Importance of a Classical Education for Writing Renderman Shaders


[NB: Scott Anderson supervised the visual effects of Starship Troopers for Paul Verhoeven, and many facilities participated, including Sony Imageworks, ILM, Tippet and MASS ILLUSIONS.  The pictures below are just to illustrate the movie and, in a few cases the types of elements involved, e.g. thrusters.   I have no idea who did these particular shots, with the possible exception of the one of the escape pod, which was probably done at MASS ILLUSION.  People are very touchy about their credits and who can blame them?]

Through this story I hope to demonstrate the importance of knowing Latin, or of at least having a classical education, when writing Renderman Shaders. It is also a story about what a small world the world of visual effects is.

In 1997 or so, I had been hired by MASS ILLUSION to help them finish their work on Starship Troopers (1997) and get it out the door. They had two other projects that were about to start, What Dreams May Come (1998) and The Matrix (1999), and people needed to segue from Starship onto the new projects. MASS ILLUSON won two academy awards for these latter two projects, an amazing achievement. (1)


If you look closely at the lower picture, the thrust exhaust has a detailed structure which animates slightly

So new talent was needed to help finish the project so that the regulars could move on, and I was available, on the East Coast, and actually like to help finish projects. Often bringing in new people near the end of a long complicated project can be a help, because the new people in many ways are, frankly, unaware of the history and can just look at things with fresh eyes, and they are not yet tired of the project, so they can be energetic. Its not unrelated to some of the tactics of replacements in sports.

I had some credentials for this because I have supervised lots and lots of shots and projects and happen to be very good at rendering, having a Scitech award for writing a renderer, and very good at using Renderman (2), having helped bring it into production in its earliest form at deGraf/Wahrman and enjoyed using it.

MASS ILLUSION was a pioneer in attempting to do visual effects projects remotely from Los Angeles, in this case Western Massachusetts, and not all the bugs were worked out yet, and there was friction which I attributed in part to the problem of communicating 3,000 or so miles away, as well as other complications having to do with a very complicated project and a famously demanding director.

One of the ongoing and unresolved issues was matching the thrusters, or exhaust, of the starships. The exhaust in the starships done at Imageworks had a specific look and we were not close enough to that look for the starships we were doing. But it wasn't clear what Sony had done to make their thrusters, though, because as is so often the case, the people who had done the work at Sony had moved onto other projects, and possibly also because they had used a consultant who was no longer with them to write the primary Renderman shader for the thrusters.


Escape pod thruster detail 

They were hesitant to give us the shader and when I got on the project this was one of the long standing issues between the facilities. But obviously, given that we were having trouble matching the look, having the specific shader would be a big help, and communicate to us in no uncertain terms what was going on here. We thought that they might have some proprietary technology in the shader, but that was probably not the concern. It may have been nothing more than caution, or concern that they would be asked how the shader worked, or didn't know where it was, or who knows.

The shader was called "ROSASRF" for some reason.

Finally, after some effort, I had a success and many, many months after MASS ILLUSION had first asked, we got the source to the shader after a particularly colorful telephone conference call in which I quoted a famous biblical prophecy of what would happen if they did not give us the shader. (3)

Now, I have to backup a little. I have read and written hundreds, perhaps thousands, of shaders, about half of which are written by other people and about half of which were written by myself. Of those which are written by others, if you find a single comment in their shader its a miracle from Jesus himself. Shader writers do not often write comments, it seems, perhaps they believe that it is all self-explanatory.

But ROSASRF which was a very dense and complicated shader was not only well-commented, but one of those comments was highlighted with the cryptic two letters: NB.

NB?

I started laughing. I hardly ever read shaders with Latin abbreviations, in fact it had never happened before. NB, of course, is Latin for "Nota Bene" or "note well", its a convention used by mathematicians of the old school and classical scholars of all types. It basically means "pay attention".  Its the sort of thing one would expect to find when reading a scholarly treatise about St. Augustine's City of God (de Civitate Dei) or perhaps the notes of a 17th century alchemist. Or a mathematical proof.


So whoever Rosa was, as by that time I had determined that ROSASRF was named for the consultant, someone named Rosa, clearly she had a classical education and was not one of the "repurposed garage mechanics" we normally get in visual effects. The shader was very well written, well commented, and indeed, without it, it would have been very hard to figure out how to solve the problem. So we were happy.

But I was even happier to discover that I already knew Rosa, that in fact this was my old friend Rosa Farre, whom I had met a decade before in Barcelona at a company called Animatica, and who had married my friend Darnell Williams of Symbolics. I had never seen her work before, I just knew her as this very pleasant person from Barcelona, but now I had seen her work, and clearly she was not only good at what she did, but most important of all, had a classical education and was comfortable with her Latin abbreviations.

I hope that everyone reading this will take away the final thought that they should study Latin and incorporate Latin abbreviations in all their shaders.

Thank you.

_______________________________________

Notes:

1. By the time these two projects were done, the company had gone through at least one and possibly two different reorganizations, and may or may not have been called MASS ILLUSION by then. However, the people were the same for the most part and the same spirit and sense of excellence existed, so far as I can tell. Also, a facility does not win an Academy Award, only people do. But they had been the primary facility on those two films (What Dreams and The Matrix).

2. Technically, Renderman is the standard and the actual renderer was called Photo Realistic Renderman or PRman. The name may have changed a few times since then.

3. I dont actually remember exactly what was said during the call, but I vaguely recall telling them that we really, really wanted the shader and for them to remember the prophecy "The sun will be turned into darkness and the moon into blood when the great and terrible (day) of the Lord shall come", which in Medieval Latin, by the way, is SOL TENEBRAS ET LUNA IN SANGUINEM MAGNUS ET HORRIBILIS DEI VENIET, which I think has a nice feel to it. Anyway, they gave us the shader.

_______________________________________

References:

Starship Troopers on Imdb

City of God (De Civitate Dei) by St. Augustine

Latin Abbreviations on Wikipedia

No comments:

Post a Comment