Prev |
Next
Slim 7.1 represents a significant step forward over its predecessor, Slim 7.0, offering increased stability and speed as well as improved functionality and scalability. Although the User Interface introduced in the 7.0 release remains unchanged, there have been considerable changes under the hood. Users are strongly encouraged to migrate to a Slim 7.1 platform as time allows.
New Features
- New Network Graph capabilities Network Graphs now incorporate new
node colors as well as improved graph layout orientation and graph connector routing.
- Improved efficiency at startup Slim now supports delayed loading
of user and library palettes as well as template description files. By default, all
palettes now use this delayed-loading behavior.
- New Programming and Extension capabilities
- In the context of generative shaders, the generate command now supports a
powerful interrogation language to allow for generation of classes of parameters
with complex definitions.
- The EmbedSlimData functionality has been augmented with the
ability to inject arbitrary code at the time of shader generation. See the
$RMSTREE/etc/SlimBuildShaderMetadata.tcl file for details.
- Templates and appearances now support custom, disk-based icons as well as
the usual rendered swatches. The i key toggles between the
two views.
- Template versions now support periods (e.g. MyTemplate 1.2.3).
- Node instances can now be Consolidated, or de-instanced.
Enhancements
- Improved Error Reporting
- The error reporting subsystem for scripts and templates has been
considerably revised.
- Given that property names have to be unique for each template, appropriate
error reporting has been added. In this regard, setting the
LoudDuplicateNamingError could prove useful for temporary use at sites
undertaking significant library cleanup.
- Errors in generative template logic are now reported inline in the generated
shader, as well as in the Slim message log.
- Improved Package Functionality
- All parameters and attributes on nodes can now be published on a package.
Before it was only possible to publish varying parameters.
- Package UIs are now fully editable, with reordering, relabeling and
addition/removal of collections.
- Improved Stability
- Slim's parser is now fully reentrant, allowing for complex hierarchies
of delayed loading.
- Slim is now capable of parsing much deeper palette hierarchies than before,
without errors.
- Slim is now able to deal gracefully with a much wider range of failure conditions.
- Slim is also much more tolerant of bad data coming from external files and scripts.
- New and Improved Organizational Functionality
- Session checkpointing has been added.
- A new preference to force library palette read-only has been added.
- The organization and open-close status of subpalettes in library palettes
is now properly respected.
- The ability to parent appearance nodes one inside the other has been reenabled,
via preference EnableAppearanceHierarchies.
- Additional, Miscellaneous Enhancements
- Support for inserting nodes onto edges has been improved. Now each template can specify
its default input and output types in the initialization files, allowing for a 30
to 100 times speedup in context menu generation on the Slim Graph.
- Newly created nodes in manual layout mode are now placed in a more reasonable
location.
Enhancements
- A number of bugs related to correct handling of spaces and other special characters
in strings and filenames has been fixed.
- The Slim Message Log properly parses messages with complex formatting.
- Packages now interact properly with nesting and instancing.
- Palettes now checkpoint properly again.
- A number of small bugs in the code generation routines have been fixed.
- Template reloading now works properly.
- PackageTerminals can no longer undergo operations that would make their
containing package useless (e.g. deleting or duplicating).
- Dirty status propagation now properly traverses package boundaries.
- Connectivity is now properly translated across instanced nodes.
- A rare issue in which the code generator would be too aggressive in recycling temp
variable assignments within complex networks that contain nested packages
has been fixed.
- Connections between nodes are now expressed in a more robust way, improving
backwards compatibility with Slim 6.5 (which is now complete) and future versions
of Slim.
- A number of interaction issues regarding nodes with multiple outputs have been fixed.
- It is now possible to drag and drop nodes to the top of lists.
- A bug on Windows that could crash Slim when unpackaging has been fixed.
- The layout button for the graph now works as advertised.
- Several interaction bugs with the graph have been fixed, including usage of very
long node labels.
As part of RenderMan Studio 1.0, and in its own right, Slim 7.0 is a significant, nay monumental release. Along with its new integration with RenderMan for Maya, Slim has received a major cosmetic facelift as well as a virtually complete overhaul under the hood. The new user interface and features serve to make Slim easier to use, more powerful, and highly customizable, opening a whole new world of shading to RenderMan Studio users.
Below is an overview of the new features, enhancements, and bug fixes integrated in the Slim 7.0/RenderMan Studio 1.0 release.
New Features
- An all-new User Interface
- One-window UI All palettes and editors are now available in a single
window, maximizing screen real estate and eliminating clutter.
- New Palette View A new Palette View allows quick browsing of
appearances and templates, and features robust sorting and filtering for easy management of
your resources.
- New Network View There's a brand new graph editor with an
improved layout, look, and navigation, faster drawing, and more powerful tools for user
customization.
- New organizational and usage tools
- Packages Users can collect a network of appearances into a single,
contained Package.
- Parameter Overviews Users can quickly access an overview of all
external parameters in a network.
- Smart Palettes Palettes can be assembled by filtering appearances
based on a set of criteria.
- True Instancing Users can create instances of any appearance, with
automatic updating.
- Library Palettes Users can now store common appearances in
networks in a special palette that is always available for quick copying or instancing.
- New tools for template design
- Multiple Output Templates Templates with multiple outputs are now supported.
- Appearance msghandlers msghandlers can be
defined for events like Instantiate and Reload.
- RenderMan Studio packaging
- RenderMan for Maya Integration Slim is now conveniently integrated
with RenderMan for Maya, allowing users to take advantage of a seamless Maya-based workflow.
- Enhanced Connectivity between Slim and RenderMan for Maya
Slim has a new, simple way to manage your workflow,
via Slim Sessions. When you start Slim, you are in a
default Session, working on a default Palette. These are keyed to your Maya scene and project
automatically, and are saved with the scene when the scene is saved. Please review the
documentation for complete details.
Enhancements
- Improved Performance
- Smaller Palette Files Palette files are now smaller, allowing for faster
loading.
- Simplified Node Insertion You can now insert new nodes upstream
or downstream by right-clicking on an existing node or middle-clicking on an existing edge (i.e.
the arrow indicating the connection between nodes).
- RMS-style Variables Environment variables using the
RMS acronym, rather than RAT are now fully implemented. For example,
RATTREE is now RMSTREE, and RAT_SCRIPT_PATHS is now
RMS_SCRIPT_PATHS.
- Slim runs independently of Maya and the RenderMan for Maya and MTOR plugins when
launched via the Maya UI, enabling users to quit a Maya session without quitting a concurrent
Slim session.
- The memory footprint for the Slim preview renderer has been drastically reduced.
- Slim loads with an empty, default palette, eliminating the tedious task of creating a new
palette.
Miscellaneous Changes
- The alt key is now the default for keyboard + mouse functions.
- Slim now strictly enforces the policy that the properties of a parent and its children must be
consistent in regard to their access state (input or output). If the state is not in aggreement at
any point in the hierarchy (parent or child), Slim will change the state (where necessary) to
output.
- A new command,
CommitCmds,
has been added to the Slim object. CommitCmds will:
- Flush the undo queue and commit all commands.
- Remove all deleted Appearances from memory.
- Remove all deleted Palettes from memory.
In the general case, the user will want to call update immediately before calling
slim CommitCmds.
- You can now use GetAppearances -deleted 1 to retrieve Appearances
marked for deletion.
- Coincidentally, you can now use GetPalettes -deleted to retrieve Palettes
marked for deletion.
- There are two new references for preview swatch rendering, accessible in the Slim.ini. By
default they are PreviewPixelSamples {3 3} and
PreviewPixelFilter {"catmull-rom" 3 3}.
- The template name is included with in the comments section of generated SL code.
Known Issues
Prev |
Next
|
Pixar Animation Studios
Copyright©
Pixar. All rights reserved.
Pixar® and RenderMan® are registered trademarks of Pixar.
All other trademarks are the properties of their respective holders. |