

Note that one of these is not necessarily the inverse of the other, given the branching structure of many corals.įor corals generated procedurally (such as the big plate corals), the scalar field assignment was built into the procedural code. The following information was needed for each vertex: the distance (along the surface) to the base of the coral and the distance to the tip of the coral. You can use this much like a st coordinate system, but with only a single value associated with each vertex. They are passed into the shader as a varying float. These are also known as primVars in shading systems like Slim. A scalar field is simply a piece of information (in Pixar’s case, a float value) associated with a vertex (or CV), then smoothly interpolated. Since many of the models were subdivision meshes, lacking in coherent texture coordinates, artists chose to do this using scalar fields. Pixar knew it would want to control the placement of the different shader layers along the length of the various corals. The same shader found its way into applications beyond the coral reef such as rocks and the throat of Nigel, the pelican. As it turned out, all coral in the film was shaded with a single shader. The studio’s initial thoughts were that they might end up with four or five shaders, but they would share a common collection of shading language functions. it does not make sense to write a unique shader for every blade of grass in a field). This is often the case in natural, organic settings (e.g. While Pixar often leans toward the former, the coral represented a situation where a more global shading approach was practical.

There has always been a continuum of approaches to shading: with the “one model/one shader” approach at one end of the spectrum, the “handful of shaders for everything” at the other.
RENDERMAN 20 CODE
The added benefit being that changes and optimizations could be handled from a single code base. This, coupled with the need for flexibility, led Pixar to believe that constructing a larger shader, with the ability to handle the majority of the corals, was going to be the best approach. This often led to corals, which had been modeled and shaded, going unused by the set dressing department. They also found that when they split the shader writing between too many people, there were problems maintaining a visual consistency on the set. Shader Flexibilityįrom shading the corals in pre-production, Pixar discovered that all the corals that needed to be created had some similar shading properties. With so much geometry in the set, optimizations will be required in both modeling and shading to achieve manageable render times. This look would need to be achieved with little setup time and minimal impact to render times. None of the current illumination models were adequate to handle the subsurface scattering required for the coral. New coral looks will need to be created on short notice. Shading changes for the coral need to be made late in the pipeline, possibly as late as shot lighting.

As a result of this test, the studio was able to discover several properties the coral shaders would need to possess. Due to the many technical challenges facing the production, it was decided that they would build a miniature coral reef and take it all the way through the current pipeline to final film render. In January of 2001, Pixar began some of the initial pre-production tests for coral shading. Preproduction: What You Donʼt Know Can Hurt You These notes look specifically at the process of shading the coral itself, from early shader design through to final optimizations. Through proper planning and the creative use of Pixarʼs PhotoRealistic RenderMan, the studio was able to tackle these challenges and provide a rich backdrop for the story. Working from pastels and sketches provided by the art department, Pixar was asked to create a completely invented environment yet still maintain a sense of realism. HOW VFX AND ANIMATION STUDIOS ARE USING VIRTUAL WORKSTATIONS TODAY
