SLIM's CORE FUNCTIONS


The Core Set of 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.

MANIFOLDS

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.

 

MayaProj

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.


MayaUV

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.



Projection

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. 


Scale

Description: Returns a non-uniformly 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


Shear

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


ST

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.


SurfPtLight

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.


SurfacePoint

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.


Tile

 to
The number of tiles per unit of surface.

Tile Size
Assuming your pattern generator computes values for the range 0-1, 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

 Warp Function
Returns points additively warped by vector-value Unless you choose to map the Surface Point parameter, the default behavior is to use ST coordinates.

Kw
A multiplier for the warper.

Manifold


World Point

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.


VECTORS

A vector function calculates a 3D vector at every point.  Vector functions are used to perturb, or warp, fields of points.

Brownian

   Create a Brownian noise.

Fractal

   A fractal noise.

Noise

   A basic fractal.


Brownian

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


Fractal

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^(3-2*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


Noise

 frequency

manifold


ENVIRONMENTS

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.


Blobby

 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


EnvMap

 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) 752-3000 (voice)   (510) 752-3151 (fax)
Copyright © 1996- Pixar. All rights reserved.
RenderMan® is a registered trademark of Pixar.