The Scripting Environments |
Like all RenderMan Studio (RMS) applications, it is built atop a tcl language interpreter (see http://www.tcl.tk). Tcl is well-suited for the specification of initialization and preference data as well as small programming tasks such as extending its capabilities. Unlike other RMS applications, it is also built atop a second scripting language. Prior to RMS 1.0 we provided a custom scripting language, the combiner, for imaging operations. In RMS 1.0 we introduce a fundamentally more powerful imaging environment IceMan.
First and foremost, the underlying imaging model has been rebuilt from the ground up. The IceMan imaging model is a sophisticated framework for expressing general computations on image data in a variety of representations. IceMan's execution engine employs dependency analysis, lazy-evaluation, and multi-threading to ensure efficient execution of your IceMan scripts. We've selected a new open-source scripting language called Io (see http://www.iolanguage.com) as the syntax for IceMan scripts because of its elegance, power, lightweight syntax, and embeddable nature.
We provide hooks for extending both of these scripting environments. Generally, you use tcl to manipulate the application objects images and catalogs, as well as to load and store program state and to execute IceMan scripts. To extend the IceMan scripting environment you use Io. We provide the entire Io-side execution environment in source form to serve as a reference for your extension activities.
Here are a few features of the IceMan environment:
For more information on it scripting, check out the it Scripting Tutorial.
Pixar Animation Studios
|