SLIM's
CORE FUNCTIONS
The core set of functions provided by Slim can be used to generate a wide
range of shaders which utilize many different special features of Slim. These
core functions generally serve one particular purpose, like creating a simple
noise or a pattern. The functions by themselves are not always useful must be
connected to other functions to obtain a meaningful result, but the atomic
nature of functions affords a great deal of flexibility when it comes to
assembling shading networks.

All functions operate on a
domain. Some functions operate implicitly on a domain but most require
its explicit specification. For our purposes, this means that functions
require a description of the surface that they're operating on and this
requirement comes is the form of a manifold parameter. A manifold function
either generates or transforms function domains. Manifold functions
encompass notions of 3D Surface Points, Reference Geometry, Projection, Tiling,
Surface Parameterization and Warping. Manifolds are a generalization of
point functions and carry with them derivative information useful in
antialiasing calculations. A function network can operate on any number of
manifolds but usually you'll choose a single manifold to drive all the
calculations for a network.
MayaProj 
Generally ape Maya 2D
projections.

MayaUV 
Connect STMatrix parameters to
a Maya node.

Projection 
This is staple
projection manifold.

Scale 
Rescale other
manifolds with this.

Shear 
Applies a shear
effect.

ST 
Returns a 2D surface
point.

SurfPtLight 
For use with lights.

Surface
Point 
Returns a surface
point.

Tile 
Use to tile other
functions.

Warp 
Apply warp to other
functions.

WorldPoint 
Returns a point in
world space.

Description:
FOR PLANAR PROJECTION:
Find the place3dTexture and place2dTexture nodes in the Maya hypershade graph
for your projection. Create a RenderMan coordinate system and parent it under
the place3d; enter its shape name under Place3d Coords. Make sure Perspective
Coords is blank.
FOR PERSPECTIVE PROJECTION:
Look at "Camera Projection Attributes" of
your Maya projection. Set "Fit Type" to "Match Camera Film
Gate". Set "Fit Fill" to "Horizontal". Create a
RenderMan coordinate system and parent it under the camera you chose in
"Link to Camera"; enter the coordinate system's shape name under
Perspective Coords.
FOR EITHER:
If you're using the place2d node, enter the expressions [st0
place2dTexture1] and [st1 place2dTexture1] under Place2d ST0 and Place2d ST1
respectively.(Replace place2dTexture1 with the name of your place2d node.)
OTHER PROJECTION TYPES: Are not supported by this function.

Description: A means to access Maya's version of the
surface parameterization. Typically
you'll want to connect the STMatrix parameters to a place2dtextures node. You can do this by changing
these parameter's type to expression, then entering an expression of the form
[st0 place2dtextures]
into the STMatrix0 parameter.
And similarly for STMatrix1, replacing st0 with st1. Note that place2dtexures should be the name of the
place2dtextures node in your Maya scene.

Description:
Converts a 3D surface point to a 2D texture coordinate through the magic of projection.
Projection
Select type of projection.
Planar for Textures
If you plan to use this projection for images and are using a planar projection, this
control flips the sense of x and y and offsets the projection so that the center of the
image is mapped to the origin.
angle
Rotate the projection in degrees.
S Repeats
Define repeats in S.
T Repeats
Define repeats in T.
S Offset
Shift the projection in S.
T Offset
Shift the projection in T.
manifold
Generally you'll want to attach a Surface Point manifold here, and in
its "Space" parameter be sure to enter the shape name of the
coordinate system being used for projection.

Description:
Returns a nonuniformly scaled version of the
input manifold.
Frequency
Controls the scale of the manifold. Note
that increasing the frequency of the manifold will result in decreasing the scale of a feature.
input

Description:
Shears the points along the selected axis. It does this by multiplying the selected Axis by the Shear value, and offsets the other two axes by the resulting amount.
Axis
The axis the shear occurs along.
Shear
The multiplier for the shear Axis.
Manifold

Description:
Returns the 2D surface point based on the underlying ST parameterization of your object.
Use this for aping polygonal mesh UV settings. It works great.
angle
Rotate the projection in degrees.
S Repeats
Define repeats in S.
T Repeats
Define repeats in T.
S Offset
Shift the projection in S.
T Offset
Shift the projection in T.

Description:
Returns the 3D point on the surface of your light.
CoordinateSystem
UsePref
Causes the reference geometry to be employed during manifold calculations. This
should only be enabled if your surface has the reference geometry attached.

Description:
Returns the 3D point on the surface of your object.
Space
The name of a coordinate system for the manifold.
Frequency
Controls the scale of the manifold. Note
that increasing the frequency of the manifold will result in decreasing the scale of a feature.
IgnorePref
If you have attached __Pref geometry and,
for debugging purposes, want to ignore it, click
here. Note that it's much more
efficient to simply
remove the reference geometry if it's not needed.

to
The number of tiles per unit of surface.
Tile Size
Assuming your pattern generator computes values for the range 01, increasing the size of an individual
tile results in sparser shape density.
Jitter
Randomly jitters the position of a pattern within a tile. Note that the amount of jitter you get
is related to the tilesize. The closer packed your shape, the less room to jitter.
Row Offset
Causes every other row of pattern to be offset.
Random Z
Some shapes refer to the z value of the Surface Position to choose from a subset of tiles.
Selecting this option causes a random tile number to be placed in the z coordinate of the surface position.
Note that many shapes ignore z completely.
manifold

Warp Function
Returns points additively warped by vectorvalue Unless you choose to map the Surface Point
parameter, the default behavior is to use ST coordinates.
Kw
A multiplier for the warper.
Manifold

Description:
Returns the 3D World space.
Frequency
Controls the scale of the manifold. Note
that increasing the frequency of the manifold will result in decreasing the scale of a feature.
Offset
Use this parameter to offset the worldspace function. When
connected to time or
animated with an expression containing \$f, this parameter controls motion of all upstream functions.
Direction
Establishes the direction of the motion controlled by the Offset parameter.

A vector function calculates a 3D
vector at every point. Vector functions are used to perturb, or warp,
fields of points.
Base Frequency
octaves
max # of octaves to calculate.
lacunarity
frequency spacing between successive octaves
gain
scaling factor between successive octaves
Fourth Dimension
You can get 4D brownian noise by connecting this parameter to any float function. Often
you'll want to connect some function of time here.
manifold

Description:
Vector Fractal function.
Layers
The number of noise layers used.
Frequency
Sets the lowest (starting) frequency of the
noise layers.
Lacunarity
The scaler used to determine the
frequency of each sucessive layer of noise. Smaller numbers will cause the layers to be more closely
spaced in frequency. Larger values will space them further apart.
Dimension
The frequency exponent. This value is used to scale the magnitude of each sucessive layer of noise using
the formula 1/f^(32*Dimension); where f is the frequency of the noise being used for a given layer. It's called
Dimension since this value relates to the fractal dimension. Bigger values are rougher, smaller values are
smoother.
Flow Magnitude
Determines the degree to which the original space is warped by the vector fractal field by each sucessive
layer.
Variation
This value controls which particular variation of the appearance you get  without altering the qualities
of the appearance determined by the other controls. So, for example, you can use this to animate the appearance by
connecting this to Time, or create several unique instances of the appearance by setting this to different values.
Manifold

Environment Lights
Environment lights are special lightsource shaders that
provide environmental reflections in your scene. These environment lights
produce "fake" reflections, which are surprisingly convincing and
much cheaper to render. Environment lights can create convincing reflections
for a fraction of the time required for physically based solutions. The key
idea here is that we can utilize a special lightsource to accomplish this.
Environment lights provide reflection only light. This means that light
that comes from environment lightsources only affects shiny objects, and then,
only in the direction of the reflection.
You can insert any number of environment lights into a scene
and optionally use the light link editor to ensure they affect only a subset
of your objects. Typically, though, a single environment light is sufficient.
Blobby 
A procedural
environment

EnvMap 
Add an image map as
the environment.

Foreground
Color of the foreground
Background
Color of the background
Complexity
Control the scale of the blobbiness
Variation
This will is useful to tie to a function such as time to vary the appearance
during an animation
Space
Define your favorite shader space here

File
The name of the Environment Map to use.
Space
Choose the coordinate system in which to access your environment map. If
you've computed an environment map from the associated object you should use \"shader\" otherwise \"world\" may
be a safe choice.
Right Handed
Used to correct the reflection direction to account for a right handed coordinate
system. Maya, for example, operates in Right Handed coords.
Up Correction
Used to correct for discrepancy between the up direction of the map and your coordinate
system.
Y>Z is the most common choice.

Pixar Animation Studios
(510) 7523000 (voice)
(510) 7523151 (fax)
Copyright © 1996
Pixar. All rights reserved.
RenderMan® is a registered trademark of Pixar. 