With Illuminate Labs set to launch Turtle 2.0 at SIGGRAPH 2005, Xen Wildman provides a sneak peek of its new and improved features.
It seems like only yesterday Illuminate Labs announced that they were expecting. There was some speculation about what kind of product the parents would have. About 100 or so beta testers managed to experience some hands-on action with the feisty unborn, already kicking with features. In early 2004, Illuminate Labs finally announced the birth of their newborn... uh... Turtle.
Today Turtle is entering 2.0 (having gone through a few revisions already), which in software years would put it in its prepubescent stages, with final release to be unveiled at SIGGRAPH 2005.
Render Me This
The young prodigy is starting to show signs of its true potential, refining features such as integration with shader networks, utilities and, of course, playing well with other software. For example, maps and models can be imported from ZBrush and applied via special options for normal maps and flipping textures vertically to be easily combined into a renderable scene.
The playing field now being riddled with other renderers (PRMan, mental ray, Maxwell, Vray and Brazil, to name the major ones) is all but level. Turtle will need some pretty compelling characteristics to keep the clients coming.
New tricks include pretesselation for micropolygon displacement and the ability to turn off bump maps when calculating global illumination. Thus saving a significant amount of time. Also, the possibility of rendering to passes has been added to the Turtle render globals under the "Turtle Render Pass Control" tab. This is great for scenes and effects that need to be composited with real footage. Multiple passes can be rendered consecutively without intervention.
It becomes obvious that everything in Turtle is being thought out for speed and efficiency. However, it's hard to mention every feature when most of the work has been under the hood, so I'll go with the prominent ones. Along with better integration with Maya's own utilities, the shading system itself has been reworked to include multithreaded shader processing. According to Illuminate Labs, an estimated 78% of the renderer itself has been rewritten in order to boost performance and accommodate the new shader architecture.
Shedding Some Light on the Subject
One major addition to this revision is the use of IES light profiles. Errr... what profiles? IES stands for Illuminating Engineering Society who created the IES standard for storing photometric data. The photometric data comes from combined measurements from real light sources. Many lamp manufacturers generate IES profiles for architects, previs artists and interior designers to use in their applications for realistic simulation of the product. Turtle uses this data to store a realistic light profile with normalized intensity (The light intensity option on the light will control the brightest area) and apply that to the light object. Much like mapping an image to an object or adding in an environment map, you can map an IES profile to a light. In short, it's like adding a realistic light to your scene and represents a big step forward in creating a photorealistic image with little tweaking.
On that note, light-linking has also been brought to Turtle and is integrated with Maya's own basic linking options. Light-linking allows the artist to link and unlink select objects from being affected by certain lights.
Basking in the Hypershade
On the shading front, the whole shading system has been rebuilt to offer better performance and multithreading. As I mentioned earlier, the result is almost all of Turtle itself has been rewritten to reflect the new shading system. Why the drastic change?
During a normal render, Turtle calls on Maya's shader API to process requested shaders at render time. Illuminate Labs soon found this to be a performance bottleneck as the responsiveness of the API is less than the potential speed of the renderer. Turtle simply spent too much time waiting for results needed to continue the process. The solution was to write their own shader processing into Turtle. So now the process is: you specify shaders in Maya using the hypershade as normal and at render time, those shaders are interpreted as Turtle shaders. The result is better speed even for basic tasks. And I have been told that Alias even helped with the project in order to ensure the accuracy of the output in comparison to Maya's own shader networks.
Hypershade has been loaded with a few more options. An Oren-Nayar shader has been added to the list of available shaders as well as an SSS shader (Subsurface Scattering Shader). The Oren-Nayar shader is similar to the common Lambert but a little more appropriate for simulating surfaces such as skin and silk.
SSS is one of the features being touted by other renderers. What does it do? Subsurface scattering, as many of you know, is a method of simulating light scattering upon entering of a translucent object and exiting at a different point. Examples of a material with these properties would be skin, candle wax and marble.
Also included is the much-requested support for multiple UV sets. In previous versions, the artist would not be able to use multiple sets of UVs on a single object and render in Turtle.
Mucho Detail, Poco Polygons
There are a few additions that I find more notable than any others in the feature set, and the Surface Transfer Editor is one of them. This one in particular will be of in-terest to videogame studios. Maya already has a similar feature available, but Turtle's offers improvements over the basic process. Maya's (6.5) Surface Transfer Editor works in a way that it analyzes the source geometry, takes the closest point on the target and applies the source's pattern to that area. Turtle's works using a raytracing method. An object or multiple objects are marked as the source through applying an ilrRaySampler node to the shader network (essentially a marker). Raytracing is cast along the target's normals, around the objects and the source objects' normals are then inscribed onto the target. This method of baking handles color, normals, displacement and lighting. Another advantage is that since this method utilizes raytracing, larger and more complex objects are solved faster than other methods.
A Couple Misses
I soon found out that, naturally, "all new integration" also means "all new problems." In an attempt to load up and benchmark a scene I created using the previous version of Turtle, simply tapping the render button led to crashes in the renderer. I later found out that my scene was calling for features (HDR node) that had been integrated into Maya's globals in 2.0 and lost connection. This is not a problem for new projects, but existing scenes that are ready to render will not work in some cases. To add to the problem, it is also not possible to have multiple versions of turtle (including 2.0) running on a machine. Looking at the whole picture, the relocation of the HDR feature is better for future setup, but the incompatibility should somehow be resolved without extra work on the artist's behalf.
Another issue I had with this beta is licensing. After receiving my license from Illuminate Labs, I extracted the dat file only to find that the Turtle plug-in would not load because it is "invalid." This has happened to me before on previous versions of Turtle and seems to be an evaluation license problem. Either it's the software or the delivery, but this is an issue that needs to be thought out and perhaps redesigned.
A Couple Missing Features
Despite all the new features, I'm still waiting for hair and fur rendering in Turtle. While there is not a desperate call for it, these would be nice to be able to use in character-oriented animations without the need for compositing or faking. Along the same lines would be fluid rendering. While this can be composited fairly easily now, it would still be a benefit to have it directly in a Turtle render.
Unfortunately, still missing is a Shader API the key to extra curricular activity and external development. More experienced peers such as mental ray and PRMan offer ways for artists to write their own plug-in shaders and effects. This generally happens more often in larger effects houses.
The Beaten Path
Overall, Turtle 2.0 offers incredible potential and will prove to be hefty competition for its peers. It is in a position to cater to all 3D graphics markets. Both large and small effects houses can benefit from using it for rendering projects as well as game studios for baking normal maps and textures. I do think that some things are left to be desired to be able to cover the market and here's what I think is needed:
Hair and fur rendering. Fluid rendering.
Small Effects Houses
A few default lighting setups and perhaps some reduction of the variables needed to get good results.
Large Effects Houses
An API for shader writing and effects.
If these areas can be filled, Turtle can be the one-stop shop rendering engine for any Maya-based studio. Turtle has just about caught up to the integration seen in mental ray and, for the most part, does it faster. This is a pleasant surprise coming from a third party developer. As it stands, I can recommend Turtle to any vfx house providing the above is not a prerequisite. That said, I expect at least a couple of the mentioned holes to be filled by the next revision of Turtle renderer for Maya.
Xen Wildman has been in the computer graphics industry for more than eight years. Credentials include a bachelor degree of scence in computer animation and several years writing for the CG industry.