Prev | Next

The Appearance View

The Appearance View is where you will edit the properties associated with a specific appearance. The Appearance View also allows you to preview how your shader will look when rendered.

The Appearance View interface can be divided into these sections:

  1. Preview Swatch
    This swatch gives you a preview of your shader using Slim's embedded RenderMan renderer. Click the swatch to update it.
  2. Appearance Information
    The name of your appearance is always displayed here. In this example, we also see Notes associated with this appearance and the template used to create it.
  3. Settings and Navigation
    This bar contains settings for the Appearance View along with buttons for navigating among appearances.
  4. Appearance Properties
    This area displays the properties of your appearance and an editor for each.

Preview Swatch

The Preview Swatch allows you to preview your shader on a simple piece of geometry using Slim's embedded RenderMan renderer.

The swatch renders using a number of settings defined in your Preferences. You can override these settings for a particular appearance by revealing the Preview Render Settings, accessed using the toggle illuminated below:

This gives you access to these settings:

Object Shape
The shape used during preview rendering. Choose from among: Sphere, Cylinder, Torus, Plane, Cube, Teapot.
Object Size
The approximate size of the preview shape. The camera is automatically repositioned so that the apparent size of the geometry on screen is the same. Use this control to get a sense of the scale of various patterns inherent in your appearance.
Shading Rate
Ae basic quality / speed tradeoff control. Higher numbers render faster but at a lower quality level.
The current frame for the purposes of preview rendering. Useful if your shader is dependent on time. (By default, this setting is hidden. To reveal it, enable it in Preferences.)

Appearance Information

This section gives you information about the current appearance. The appearance's type, displayed using an icon, and label, displayed as a text entry field are always visible. You can change an appearance's label here.

What follows depends on current settings and the current appearance. Preview Settings are displayed here when enabled (as shown above). Appearance notes and tags may also be visible, depending on options set in the View menu. In the example below, appearance notes are shown.

Lastly, we see the appearance's source. The type of information displayed depends on the class of appearance you are viewing:

Settings and Navigation

This bar contains menus and switches that affect your appearance, along with buttons to navigate among the appearances in your palette:

Preview Resolution
Change the resolution of the Preview Swatch
Preview Settings
Toggle display of Preview Settings
Toggle Appearance Pinning
Toggle Parameter Overview
Downstream Appearances
Navigate to a downstream appearance (displayed in a menu)
Go back to the previous appearance
Go forward (enabled aafter using Back)

Pinning an Appearance

When editing appearances in a network, you may find you wish to edit the parameters for one appearance and see the result by previewing another. This is made possible by pinning.

Navigate to the appearance with the preview you wish to pin. Then select the Pin toggle. The Preview Swatch will now be locked to this appearance, and the Appearance View will be reconfigured:

With pinning enabled, the Appearance View is divided into two halves:

  1. The Pinned Appearance This half of the Appearance View will not change as you select appearances. It will always show you the Preview Swatch for this appearance.
  2. The Current Appearance This half will continue to update as you select appearances. Note that the navigation controls have migrated to this half, and that the current appearance is displayed.

Appearance Properties

Every appearance contains a number of properties. These are the elements of how a typical property is displayed:

  1. Property Icon / Description
    This icon indicates the class of property displayed and its provider. The presence of an i indicates that a description of that property can be accessed by clicking the icon. Double-click to edit the description.
  2. Property Label
    This is the name of the property that is being edited. Double-click this text to change it. The label will change color when a value is set for a parameter.
  3. Value Editor
    This is an editor specific to the property's type.
  4. Property Menu
    This menu displays a list of actions and options for your the property. The menu is specific to the class of property displayed.
Classes of Properties

The class of a property is indicated by the icon to left of a property's name. These are the classes of properties with values that can be edited:

By far the most common class of property, parameters of appearances correspond to parameters of shaders and/or shader functions. Note that the color of this icon will vary, depending on the parameter's value provider.
Slim Attribute
Slim Attributes are guaranteed to be constant, and will not be visible within a shader. It is for these reasons that they are useful for controlling the code generation within a DynamicFunction.
RIB Attribute
RIB Attributes are RenderMan settings that are specific to your shader. These attributes and their values will be represented in the RIB stream when the enclosing appearance is encapsulated into the RIB format. Sample RIB Attributes include:
  • displacementbound
  • shadingrate
  • sides:doubleshaded
Much of RenderMan's ray-tracing functionality is controlled via RIB Attributes (in the Ensemble template, for example).
TOR Attribute (MTOR only)
TOR Attributes affect jobs created by MTOR. Map Generator templates, for example, contain TOR Attributes to control how and when those maps are generated.


Technically another class of property, collections provide a grouping mechanism for other properties. Collections can serve several different purposes:

Value Editors

Properties come in several different types. The Appearance Editor presents a different editor for each of these types. The most common types and the editors displayed are presented below:

A single floating-point value, floats are edited using a widget which features both a numerical entry (or "VSlider") and a graphical slider.
An RGB color, colors are edited using Slim's Color Editor, which is raised by clicking the color chip. Additionally, the intensity of a color can be quickly adjusted using the accompanying slider.
point / vector / normal
These three types represent geometric entities in three dimensional space. The X, Y, and Z components are each represented with a VSlider.
Plain old strings are generally not that interesting, though should you want to edit one, an editor is provided. Far more interesting are string subtypes (below).
Some properties may request an alternative editor for a given type using a subtype. Here are some common property subtypes (and applicable types):
The selector subtype can be used for any type to define a finite list of possible values.
switch (float)
This presents a simple on/off switch that represents values of 1 and 0.
bigstring (string)
A string too long to be edited in one line, the bigstring subtype relies on an external text editor to edit its value.
texture (string)
A string representing the path to a texture file, the texture subtype (as well as similar subtypes for reflection, environment, shadow, etc.) gives access to a file picker, and to texture conversion tools.
The Property Menu

The property menu combines several settings and commands for your property. There are three main sections of the property menu. Depending on the traits of the property, the menu may display some or all of these sections.

  1. Value Provider
    This section controls the Value Provider for your property. If the value provider cannot be changed for your property (because, for example, it is a Slim Attribute, or because it must be connected), this menu will not be displayed.
  2. Commands
    This section displays a set of commands that are relevant to the property and to its Value Provider.
  3. Connections
    Some properties can have their value provided by another function. For these properties, a list of possible connections to make is displayed.
Value Provider

The default widget associated with each parameter is only one way to set its value. The value of a parameter can actually come from a number of different places and the Value Provider section allows you to choose this.

Different properties have different combinations of provider options available. The color of the property icon indicates a property's provider.

By default, the value of a parameter will usually be stored as a constant, Internal Value. This means that the value will be hard-coded into the shader and cannot be changed without regenerating the shader.
A parameter with a teal icon indicates that it has an External Value. External parameters are declared as parameters of the shader allowing their values to change without regenerating the shader. When flattening, or instancing a shader, only parameters with external values will be shown.
The most powerful Value Provider is Connection. Setting the Value Provider to Connection causes the property icon to turn purple and displays the connection type in the property menu. The value of the parameter is provided by the output of another function. Because each function can have parameters with values provided by other functions, you can build up powerful networks of functions interconnected through their parameters.

Note that the name of the connection appearance is displayed within a button. You can use this button to navigate to the connected appearance. Button-1 will edit the appearance in the current editor. Button-2 will edit the appearance in a new editor.

Some parameters may specify that their value must be provided by another function and will specify a default function to connect to. In this case, the Manifold parameter has specified that by default, it should connect to a SurfacePoint function. You can override this default and connect the parameter to a different function, but the parameter must always be connected to something.
MTOR only:
Sometimes expressing the value of a parameter via a static value isn't sufficiently powerful. You might want to, for example, request that the value change from frame to frame via a TCL expression. Setting the Value Provider to TCL Expression causes the icon to turn orange and presents a different entry widget where you can enter a numerical expression. The property menu will contain commands to control and test your expression. For more details see documentation on Parameter Expressions.
This is how the Property Menu appears when a parameter receives its value from a connection:
  1. Value Provider
    Note that the Value Provider section indicates that the parameter is receiving its value from a connection to "LabelColor."
  2. Connection Commands
    Because the Value Provider is currently a connection, the commands section changes to present two commands: Disconnect LabelColor and Delete LabelColor.
  3. Connections to New Functions
    These cascade menus list templates that can be used to generate a new function. Selecting one of these creates a new function from the selected template and connects the parameter to the function.
  4. Connections to Existing Functions
    This last list is of existing functions that can be connected to the parameter.

Parameter Overview

As your networks grow, you may find it difficult to keep track of all of the parameters in all of the appearances in a network.

With any attachable shader, you have the option of viewing a Parameter Overview (invoked by the associated toggle switch). The Parameter Overview displays all external parameters in all of the appearances of the network. This allows you to quickly adjust parameters across your entire network. It also provides a preview of the set of parameters for your compiled shader.

Working with Textures

Slim accepts both TIFF files and Pixar texture files (*.tex), a format optimized for high quality texture filtering and high performance. You can specify textures for use in your shaders through various "file" parameters associated with your shaders.

For texture parameters, Slim provides two controls adjacent to the text entry field. The left "folder" button simply invokes the File Picker, which is the most convenient means of loading in a texture file. The button on the right provides a menu of commands to perform on your image.

You can use this menu to open the Texture Settings Editor.

Texture Settings Editor

The Texture Settings Editor is a convenience provided to simplify the task of controlling the details of texture conversion. By selecting entries in this menu you are building up the argument list to the Slim provided TCL procedure: txmake. The TCL proc txmake is merely a cover function for RenderMan's standard texture conversion features and specifically Pixar's txmake utility program. Its purpose is to help track all texture conversion requests and to calculate the mapping between source texture name and destination.

Here are the primary controls:

The image file.
This switch controls whether the file should be converted to a texture. The texture controls appear when this switch is on.

Type of texture to create. Type is one of:
  • texturemap : standard color or grayscale image
  • shadowmap : Pixar's shadowmap format, converted from a depth map.
  • env latlong : environment created from a lat-long projection stored in a two-dimensional image.
Precision for each channel of each pixel. By default, each channel is represented by eight bits (a byte). Using -short will represent each channel with a 16 bit (signed) integer. Using -float will represent each channel with a 32-bit floating point number. Note that these options will only work if there is at least as much precision in the source file.
For reasons internal to the texture mapping software, texture files must be an even power of two in width and height (i.e. 256, 512, 1024, 2048, etc). Any input image which is not already a power of two in both dimensions will be resized, as described below:
  • up : the image is resized up to the next higher power of two.
  • down : the image is resized down to the next lower power of two.
  • round : the image is resized to the nearest power of two.
  • none : the image is not resized, the texture map size will be the next higher power of two. Texture file area not covered by the image will be set to black. Texture coordinates will be 0 to 1 across the resulting image.
How textures will be accessed when the image is resized:
  • corrected : the image will retain its aspect ratio when mapped onto a square patch.
  • normalized : texture coordinates will be 0 to 1 across both dimensions.
Extra Args
Extra arguments for the txmake call.
Smode/Tmode Icons
the icons next to the gridded texture determine the repeat mode for your texture in each direction. This applies when accessing the texture outside of the range 0-1. (See examples in diagram below.)
  • black : fill the nether regions with black
  • periodic : tile texture
  • clamp : smear the pixels at the edges indefinitely
Remember that these controls are only meaningful for external, pre-existing textures. You should use the Reference Texture Menu for computed maps.
Conversion Mapping Modes

Original Texture "Black"

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.